我目前的Winform 介面
我的程式碼 圖檔
我的程式碼 文字檔
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Thread.Sleep(1000);
textBox1.Text = "3";
Thread.Sleep(1000);
textBox1.Text = "5";
}
private void button2_Click(object sender, EventArgs e)
{
//Class1 obj = new Class1(this);
// obj.CreateLabels();
Thread.Sleep(1000);
textBox1.Text = "2";
}
}
我目前的想法,希望可以利用延遲反應,按下button1 可以讓textbox1 一開始顯示 3,過一秒之後,顯示 5
但實際上它是過了兩秒 直接顯示 5,
但如果我使用 button 2 ,卻可以讓textbox 顯示 2,
所以就不太懂,textbox .TEXT 的原理,是不是我漏了什麼程式,還是有什麼知識點,是我必須去學習的,
小弟C#新手,還請各位高手指教!
Thread.Sleep(1000);
textBox1.Text = "3";
等待一秒後,確實變3了,但這時候頁面並沒有刷新,會繼續執行下面程式
Thread.Sleep(1000);
textBox1.Text = "5";
執行完這段頁面才刷新,所以你看到的都會是5
可以用下面rofellos大提供的方法來刷新頁面。
Thread.Sleep(1000);
textBox1.Text = "3";
this.Refresh();
Thread.Sleep(1000);
textBox1.Text = "5";