Hoşgeldiniz Arama | Aktif Konular | Üyeler | Üye Girişi | Kayıt Ol

thread Ayarlar
sancarbey
Gönder: Monday, May 12, 2008 12:31:54 AM
Rank: Newbie
Groups: Member

Üyelik Tarihi: 5/12/2008
Mesaj Sayısı: 1
Puan: -94
ben şöyle bir durum ile karşılaştım;


Thread ThreadDeneme1;
private delegate void dcombobox2(int sayi);

private void button4_Click(object sender, EventArgs e)
{

progressBar1.Minimum = 0;
progressBar1.Maximum = 1000000;
ThreadDeneme1 = new Thread(new cm2yesayiekle1));
ThreadDeneme1.Start();
}


private void cm2yesayiekle1(int sayi)
{
if (progressBar1.InvokeRequired)
{

dcombobox2 xxx = new cm2yesayiekle1);
progressBar1.Invoke(xxx, new object[] { sayi
}
else
{
for (int i = 0; i < 1000000; i++)
{
progressBar1.Value = i;
}
}

}


buradaki thread çalışıyor fakat thread mantıgına aykırı olarak çalışıyor yani for dongüsünden dolayı Form donuyo kalıyo. Böyle bir durumu nasıl Çözebilirim?
syalcin
Gönder: Saturday, May 31, 2008 4:26:08 PM
Rank: Newbie
Groups: Member

Üyelik Tarihi: 5/31/2008
Mesaj Sayısı: 1
Puan: 3
Nerden: İstanbul
Selamlar, for döngü içerisinde Application.DoEvents metodunu çağırırsan belki istediğin sonucu alabilirsin. Form evetlerin bitmesini bekliyor bu yüzden kitlenmiş gibi oluyor Application.DoEvents methodu bekleyen işlemleri kullanıcıya yansıtıyor burdada bekleyen işlem progress barın görselliği örneğin. performas açısından ne şekilde bir etkisi olur bakmak lazım ama 1000000 kere çağırmak yerine bunuda 1000 seferde bir yapabilirsin. umarım çözüm olabilir.Bilgi verirsen sevinirim.
Konu içindeki Kullanıcılar
Guest


Forum Haritası
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.

Main Forum RSS : RSS

YAFPro Theme Created by Jaben Cargman (Tiny Gecko)
Yet Another Forum.net version 1.9.1.7 (NET v2.0) - 11/20/2007
Copyright © 2003-2006 Yet Another Forum.net. All rights reserved.
Bu Sayfa 0.376 saniyede üretilmiştir.