

C# For Döngüsü Çalışırken Ekranda Yazı Gösterme Yardım
-
hocalar c# ta form applicationda form_load çalışırken bi tane for döngüsü dönüyor.bu for dönerken ben ekranda bişeyler göstermek istiyorum bi label da ama bunu yapamadım.labeln yazısı değişmiyor thread denedim ama onunlada olmadı nasıl yapabilirim?
-
Soruyu biraz daha açar mısın ya da kodu buraya yazar mısın?
-
kodu yazamadım onu soruyrm :d form çalışırken form_load da bir tane for döngüsü dönüyor mesela
for(int i=0;i<sayac;i++)
{ }
benim istediğim i 0 oldugunda ekranda mesela bi label da 0 yazsın 1 olunca 1 olsun
-
form_load'da yaparsan form daha gorunmeden o işlemleri gerçekleştirir mantık hatası var onur Form_active olması lazım orada yazarsan istediğin sonuca ulaşabilirsin.
-
haklısın ama bu sefer de sadece 1 yazıyor nasıl yapcam anlamadım :S
-
formun açılışında döngü calıscagı içiin son halini görmüş olursun. bir butonla falan olayı tetiklersen görürsün. ayrıca başka bişilede tetiklersen okadar hızlı döndügünden dolayı yine son yazıyı görmen yüksek ihtimal buyüzden
label1.text="blabla" ; dedikten sonra
system.thread.threding.sleep(500); gibi bişi daha eklersen her yazı değiştiginde görmüş olursun
eğer bu işlem esnasında formunun sana response vermesini istiyorsanda bu işlemi thread içinde yapman lazım -
buton eklemeden yapamaz mıyız
-
1) Çömez çözümü: forun içine Application.DoEvents() kodu ekleyerek ara sıra formu çizmeye zorlamak
2) Profosyonel cozum: For dongusunu threade koyup forma erişen her kod için delegate metod tanımlayıp form1 den invoke etmek
3) Akılcı çözüm : 3rd party libraryler ile delegate ameleligi yapmak yerine Attribute kullanarak bitirmek (http://65.39.148.34/KB/cs/AOPInvokeRequired.aspx?msg=2988507) ben bunu kullanıyorum
-
sagol seyh ilkini gördm zaten de diğerlerine de bakcam