|
|
|
ช่วยด้วยค่ะ C# กับ Thread ค่ะ พอเค้าคลิกตรงปุ่ม button2_Click_1 แล้ว label1 จะวิ่งเปนตัวเลขเรื่อยๆ |
|
|
|
|
|
|
|
เราก็ติดแบบนี้เหมือนกันเหมือนมันค้างไปแปปนึงป่ะ
ได้แล้วบอกทีนะ
|
|
|
|
|
Date :
2013-08-28 14:02:53 |
By :
maikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเอาโค้ดนี้ไปปรับใช้ดูครับ
- จากโค้ดนี้ เมื่อกดปุ่มที่ 1 ตัวเลขก็จะวิ่งไปเรื่่อยๆ ครับ หลังจากนั้นกดปุ่มที่ 2 ตัวเลขของปุ่มที่2ก็จะวิ่งไปเรื่อยๆ ครับ โดยจะทำงานพร้อมกันครับทั้งตัวเลขที่ 1 และ 2
Code (C#)
private void button1_Click(object sender, EventArgs e)
{
Thread workThread = new Thread(new ThreadStart(Counting));
workThread.IsBackground = true;
workThread.Start();
}
delegate void StringParameterDelegate(int count);
delegate void StringParameterDelegate2(int count);
private void Counting()
{
for (int i = 0; i < 10000000; i++)
{
UpdateLabelCount(i);
Thread.Sleep(100);
}
}
private void UpdateLabelCount(int count)
{
if (InvokeRequired)
{
// We're not in the UI thread, so we need to call BeginInvoke
BeginInvoke(new StringParameterDelegate(UpdateLabelCount), new object[] { count });
return;
}
label1.Text = count.ToString();
}
private void Counting2()
{
for (int i = 0; i < 10000000; i++)
{
UpdateLabelCount2(i);
Thread.Sleep(100);
}
}
private void UpdateLabelCount2(int count)
{
if (InvokeRequired)
{
// We're not in the UI thread, so we need to call BeginInvoke
BeginInvoke(new StringParameterDelegate2(UpdateLabelCount2), new object[] { count });
return;
}
label2.Text = count.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
Thread workThread = new Thread(new ThreadStart(Counting2));
workThread.IsBackground = true;
workThread.Start();
}
}
|
|
|
|
|
Date :
2013-08-30 15:10:59 |
By :
sodamax |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2013-08-30 16:46:15 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ
|
|
|
|
|
Date :
2013-09-02 11:47:22 |
By :
bb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|