سلام دوست من
خوب مشکل کجاست شما، به راحتی میتونید این کار با استفاده از دو تا نخ و یه Event انجام بدین !!
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private delegate void MyEventHandler(ListBox sender,int i);
private MyEventHandler Handler;
private event MyEventHandler MyEvent;
private Thread T1;
private Thread T2;
private void Form1_Load(object sender, EventArgs e)
{
this.MyEvent += new MyEventHandler(Form1_MyEvent);
}
private void button1_Click(object sender, EventArgs e)
{
T1 = new Thread(Thread1);
T1.Start();
}
private void button2_Click(object sender, EventArgs e)
{
T2 = new Thread(Thread2);
T2.Start();
}
private void Thread1()
{
for (int i = 0; i <= 100; i++)
{
MyEvent(this.listBox1, i);
Thread.Sleep(1000);
}
}
private void Thread2()
{
for (int i = 0; i <= 100; i++)
{
MyEvent(this.listBox2, i);
Thread.Sleep(1000);
}
}
private void Form1_MyEvent(ListBox sender, int i)
{
if (sender.InvokeRequired)
{
Handler = new MyEventHandler(Form1_MyEvent);
object[] parametr = { sender, i };
sender.Invoke(Handler, parametr);
}
else
{
sender.Items.Add(i);
}
}
}
اینم پروژه مربوطه