-
Üyelik
26.01.2017
-
Yaş/Cinsiyet
26 / E
-
Meslek
Computer Programming
-
Konum
İstanbul Avrupa
-
Ad Soyad
O** Ö**
-
Mesajlar
222
-
Beğeniler
78 / 37
-
Ticaret
0, (%0)
iyi günler,
Örneğin 100 kere dönen bir for döngüm var ve rastgele bir sayı oluşturduktan sonra bu sayıyı label nesnesine atıyorum ve sleep() komutuyla 1 saniye bekletiyorum ama programı çalıştırdığımda for döngüsü bittiğinde ekranda labela atadığım değeri gösteriyor benim yapmak istediğim for her döndüğünde labela atanan o sayıyı her defasında göstermek yani 1 saniyede bir o değişen sayıyı görmek istiyorum bunun olmamasının sebebi nedir ?
-
Üyelik
02.09.2016
-
Yaş/Cinsiyet
29 / E
-
Meslek
Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
M** Ö**
-
Mesajlar
288
-
Beğeniler
19 / 66
-
Ticaret
2, (%100)
Random rastgele = new Random();
for(int i=0; i<=100; i++)
{
label1.Text = rastgele.Next(0,100);
Thread.Sleep(1000);
}
-
Üyelik
26.01.2017
-
Yaş/Cinsiyet
26 / E
-
Meslek
Computer Programming
-
Konum
İstanbul Avrupa
-
Ad Soyad
O** Ö**
-
Mesajlar
222
-
Beğeniler
78 / 37
-
Ticaret
0, (%0)
Algoritmayı ve syntax'ı biliyorum bu şekilde yazdım ancak çalıştırdığımda anlık olarak veri gelmiyor for bitince en son gösteriyor veriyi
Simurg
Yazılım Mühendisi
Kullanıcı
-
Üyelik
06.09.2013
-
Yaş/Cinsiyet
28 / E
-
Meslek
Yazılım Mühendisi
-
Konum
İzmir
-
Ad Soyad
M** C**
-
Mesajlar
1109
-
Beğeniler
169 / 168
-
Ticaret
19, (%100)
tam istediğin gibi sanırım başka bir thread daha koyup başka bir işte yaptırabilirsin.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
Control.CheckForIllegalCrossThreadCalls = false;
InitializeComponent();
}
private Random r;
private void Form1_Load(object sender, EventArgs e)
{
r=new Random();
}
private void button1_Click(object sender, EventArgs e)
{
Thread thread1 = new Thread(t =>
{
for (int i = 0; i < 100; i++)
{
int a = r.Next(0,10000);
label2.Text = a.ToString();
Thread.Sleep(1000);
}
})
{ IsBackground = true };
thread1.Start();
}
}
}
1 kişi bu mesajı beğendi.
Simurg
Yazılım Mühendisi
Kullanıcı
-
Üyelik
06.09.2013
-
Yaş/Cinsiyet
28 / E
-
Meslek
Yazılım Mühendisi
-
Konum
İzmir
-
Ad Soyad
M** C**
-
Mesajlar
1109
-
Beğeniler
169 / 168
-
Ticaret
19, (%100)
karmaşık projeler için pek sağlıklı olmayabilir daha sağlıklı kullanım için delegate kullanılarak yapabilirsiniz.
1 kişi bu mesajı beğendi.