这段代码只更改bg颜色一次。我需要添加什么才能使其正常工作?
int i=0;
while (i<50)
{
button1.BackColor = Color.White;
Thread.Sleep(20);
button1.BackColor = Color.Black;
Thread.Sleep(20);
i++;
}发布于 2012-04-03 23:54:35
即使您将睡眠参数更改为更大的值,但如果您在操作form的同一线程(主线程)上操作,您也看不到任何更改,因为您阻塞了主线程;相反,您应该使用另一个线程,或者只使用windows窗体的Timer组件。
int i;
public Form1()
{
InitializeComponent();
System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
timer.Interval = 200;
timer.Tick += new EventHandler(timer_Tick);
this.BackColor = Color.White;
timer.Start();
}
void timer_Tick(object sender, EventArgs e)
{
if (this.BackColor == Color.White)
this.BackColor = Color.Black;
else
this.BackColor = Color.White;
}https://stackoverflow.com/questions/9996875
复制相似问题