bonjour tout le monde,
je veux bien appeler une méthode après 1seconde de l'affichage du form,et non pas dans le lancement avec form_load(). comment faire?
merci de m'aider.
bonjour tout le monde,
je veux bien appeler une méthode après 1seconde de l'affichage du form,et non pas dans le lancement avec form_load(). comment faire?
merci de m'aider.
il faut utiliser un timer avec interval = 1000 déclenché à la fin du FormShown
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Shown(object sender, EventArgs e) { timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { timer1.Stop(); MessageBox.Show("Hello"); } }
ben tu as mis la réponse dans le titre... utilise un timer !
Autre approche, en utilisant un autre thread :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 // pour vérifier si c'est le premier affichage bool _shown = false; // se produit quand la form est affichée protected override void OnShown(EventArgs e) { if (!_shown) { Timer tmr = new Timer(); tmr.Interval = 1000; tmr.Tick += tmr_Tick; tmr.Start(); _shown = true; } } private void tmr_Tick(object sender, EventArgs e) { Timer tmr = sender as Timer; tmr.Stop(); LaMethodeAExecuter(); }
Note l'utilisation de Invoke pour que LaMethodeAExecuter s'exécute sur le thread de l'interface graphique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 // pour vérifier si c'est le premier affichage bool _shown = false; // se produit quand la form est affichée protected override void OnShown(EventArgs e) { if (!_shown) { WaitCallback action = (state) => { Thread.Sleep(1000); this.Invoke(new MethodInvoker(LaMethodeAExecuter)); }; ThreadPool.QueueUserWorkItem(action); _shown = true; } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager