求大神幫助,在textbox上并沒有出現倒計時,是怎么回事?
uj5u.com熱心網友回復:
表單加一個Timer控制元件。uj5u.com熱心網友回復:
private System.Windows.Forms.Timer timer1 = null;
int i = 5;
public Form1()
{
InitializeComponent();
timer1 = new System.Windows.Forms.Timer();
timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (i > 0)
{
this.textBox1.Text = i.ToString();
i--;
}
else
{
timer1.Enabled = false;
timer1.Stop();
}
}
uj5u.com熱心網友回復:
Thread.sleep是直接暫停執行緒,你暫停UI執行緒,系統沒法更新界面。uj5u.com熱心網友回復:
在每個Sleep后加上Applicaiton.DoEvents()讓UI強制渲染uj5u.com熱心網友回復:
這樣可以uj5u.com熱心網友回復:
你要么加個執行緒,你這個只是暫停賦值,不是執行緒uj5u.com熱心網友回復:
private void button1_Click(object sender, EventArgs e){
for (int i = 0; i < 10; i++)
{
Thread.Sleep(1000);
this.textBox1.AppendText(i.ToString());
}
}
我這段是OK的 你試試?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/130340.html
標籤:C#
