Forum
Merhaba
Oluşturulan birden fazla thread ile 1 tane ana form içerisindeki birden fazla elemanı aynı anda değiştirmek istiyorum. Bunu nasıl yapabilirim ?
Teşekkürler
background worker yapısını inceledinizmi .
Aşağıdaki kod yardımcı olacaktır;
void Main()
{
System.Windows.Forms.Form form = new System.Windows.Forms.Form();
Button button = new Button();
button.Text = "Başla";
button.Dock = DockStyle.Bottom;
Button button2 = new Button();
button2.Text = "0";
button2.Dock = DockStyle.Bottom;
button.Click += (sender, args) =>
{
using (BackgroundWorker worker = new BackgroundWorker())
{
worker.DoWork += (s, e) =>
{
for (int i = 0; i < 100; i++)
{
Thread.Sleep(100);
button2.BeginInvoke((Action)(() =>
{
button2.Text = i.ToString();
}));
}
};
worker.RunWorkerCompleted += (s, e) =>
{
};
worker.RunWorkerAsync();
}
};
form.Controls.Add(button);
form.Controls.Add(button2);
form.Show();
}
Aşağıdaki kod yardımcı olacaktır;
void Main()
{
System.Windows.Forms.Form form = new System.Windows.Forms.Form();
Button button = new Button();
button.Text = "Başla";
button.Dock = DockStyle.Bottom;
Button button2 = new Button();
button2.Text = "0";
button2.Dock = DockStyle.Bottom;
button.Click += (sender, args) =>
{
using (BackgroundWorker worker = new BackgroundWorker())
{
worker.DoWork += (s, e) =>
{
for (int i = 0; i < 100; i++)
{
Thread.Sleep(100);
button2.BeginInvoke((Action)(() =>
{
button2.Text = i.ToString();}));
}
};
worker.RunWorkerCompleted += (s, e) =>
{
};
worker.RunWorkerAsync();
}
};
form.Controls.Add(button);
form.Controls.Add(button2);
form.Show();
}
Teşekkür ederim