J'ai créé le projet suivant pour vous montrer comment je prévois faire les choses. Mais mon projet principal sera plus grand et aura plusieurs classes. J'essaie simplement de faire en sorte que cela fonctionne correctement, alors je sais que j'utilise les bonnes pratiques pour coder. Ok, permet de commencer :), donc mon formulaire a un bouton appelé "button1" et une zone de texte appelée "textBox1" et j'ai une classe appelée "Class1" qui a une méthode "testtest()", je viens de Mettez Thread.Sleep dans la méthode testtest afin que je puisse trouver son fonctionnement sur un autre thread.C# Multithread application multiclux gui, est-ce que je fais ce droit?
Voici mon code sous forme
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
delegate void Class1Deligate();
private void button1_Click(object sender, EventArgs e)
{
Class1 c = new Class1();
Class1Deligate testMethod = new Class1Deligate(c.testtest);
testMethod.BeginInvoke(endTestMethod, testMethod);
}
void endTestMethod(IAsyncResult ar)
{
}
}
}
et voici ma classe d'un code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace Test
{
class Class1
{
public void testtest()
{
Thread.Sleep(8888);
MessageBox.Show("Done");
}
}
}
Suis-je créer correctement un nouveau thread? Et quelqu'un peut me dire s'il vous plaît comment mettre à jour textbox1 de la méthode testtest dans class1 pendant son fonctionnement? J'ai fait un post plus tôt et on m'a dit d'utiliser Dispatcher, mais pour une raison quelconque, il semble que la classe Dispatcher ne soit pas disponible pour moi.
Cordialement
Je ne suis pas sûr si je veux un nouveau fil ou pas, parce que dans certains exemples, je vois la classe Thread est utilisée et dans d'autres, je vois que BeginInvoke est utilisé, donc c'est vraiment confus. – Arya
@Arya: Eh bien, certains commencent un nouveau thread, certains utilisent l'arrière-plan, certains utilisent le ThreadPool. C'est à vous de déterminer ce qui convient le mieux au moment où vous l'utilisez. Toutes les méthodes ont leurs avantages et leurs inconvénients. – Patrick