lostyazilim
tr.link

C# anlık olarak veri atama

6 Mesajlar 868 Okunma
lstbozum
tr.link

Cylde Cylde WM Aracı Kullanıcı
  • Ü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 ?
 

 

wmaraci
reklam

Akhmerrah Akhmerrah WM Aracı Kullanıcı
  • Ü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);
}
 

 

Cylde Cylde WM Aracı Kullanıcı
  • Ü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 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();
}

}


}
Cylde

kişi bu mesajı beğendi.

wmaraci
wmaraci

Simurg 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.
Cylde

kişi bu mesajı beğendi.

Cylde Cylde WM Aracı Kullanıcı
  • Ü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)

Simurg adlı üyeden alıntı

tam istediğin gibi sanırım başka bir thread daha koyup başka bir işte yaptırabilirsin.


Teşekkür ederim
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al