Je suis les cours de developpez.com sur les Threads et en particulier celui de Sébastien Curutchet, j'ai adapté sa méthode de threads modifiant une ProgressBar à un thread modifiant une EditBox
Etant plutôt débutant en Threads dotnet, je ne trouve pas mon erreur à la fermeture du programme:
Voici mon code:Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans System.Windows.Forms.dll
Informations supplémentaires : Impossible d'appeler Invoke ou BeginInvoke sur un contrôle tant que le handle de fenêtre n'a pas été créé.
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Threading; namespace Threads { public partial class Form1 : Form { private delegate void EditBoxDelegateHandler(string str); private EditBoxDelegateHandler EditBoxDelegate; public Form1() { EditBoxDelegate = new EditBoxDelegateHandler(UpdateEditBox); InitializeComponent(); Thread monThread = new Thread(new ThreadStart(ThreadProcess)); monThread.Start(); } private void UpdateEditBox(string str) { textBox1.Text = str; } private void ThreadProcess() { while (true) { Invoke(EditBoxDelegate, textBox2.Text); Thread.Sleep(1000); } } } }
Partager