Forum

Thread ile form ele...
 
Bildirimler
Hepsini Temizle

Thread ile form elemanlarına erişme

4 Yazılar
3 Üyeler
0 Reactions
626 Görüntüleme
(@muratguler)
Gönderiler: 313
Honorable Member
Konu başlatıcı
 

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

 
Gönderildi : 22/11/2017 18:26

(@birolaydugan)
Gönderiler: 867
Prominent Member
 

background worker yapısını inceledinizmi .

 
Gönderildi : 23/11/2017 00:13

(@volkanalkilic)
Gönderiler: 137
Estimable Member
 

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();
}

 
Gönderildi : 23/11/2017 00:38

(@muratguler)
Gönderiler: 313
Honorable Member
Konu başlatıcı
 

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

 
Gönderildi : 24/11/2017 17:44

Paylaş: