Salut tout le monde
Je développe une application, détecter les routes et dessiner leurs bordures sur l’image…, en c# qui exécute des fonctions lourdes se trouvant toutes dans une seule classe et qui font appel les unes aux autres.
J’ai besoin de rajouter une fonction qui consiste à arrêter l’exécution à un moment donné pour se contenter du résultat préliminaire, ceci doit être fait avec les threads et la méthode invoke…
A présent je ne parviens pas à ce résultat, en appuyant sur la forme en plein exécution celle-ci devient bloquante, merci de me donner une idée comment le faire.
Voici le schéma approximatif :
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 private void ButtonExecute_Click(object sender, EventArgs e) { Thread t = new Thread(new ThreadStart(launchInvoke)); t.Start(); } private void launchInvoke() { pictureBox1.Invoke(new myDelegate (myclasse.myMethode), this); } private delegate void myDelegate(baseForm bForm); private void ButtonStop_Click(object sender, EventArgs e) { Stop = true; } myclasse.myMethode se charge de trouver les points des bordures et de les mettre dans un ArrayList soit arrayListPoints, puis dans lévènement : private void pictureBox1_Paint(object sender, PaintEventArgs e) { // dessiner les bordures en se servant de arrayListPoints }
Partager