c# Label 控件动态添加 颜色问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 22:45:42
代码如下:
private void button1_Click(object sender, EventArgs e)
{
this.MyMove();
}
void MyMove()
{
for (int i = 0; i < 5; i++ )
{
Label lbTemp = new Label();
lbTemp.BackColor = Color.Blue;
lbTemp.BorderStyle = BorderStyle.Fixed3D;
lbTemp.Size = new Size(40, 20);
lbTemp.Location = new Point(50, 50 + 20 * i);
this.Controls.Add(lbTemp);
Thread.Sleep(1000);
}
}
问题:执行过程中为什么label没颜色,而要到执行后才显示呢?
Graphics 类绘画重绘时会丢失;用Label当矩形用时又无法显示颜色;
如果我要画一移动的方块,又不会因窗口重绘而丢失,那怎么实现?

button1_Click事件是在服务器端执行的,而效果是在客户端显示的,必须等button1_Click事件处理完毕把mymove最后生成的结果回传给客户端,客户端才能显示label颜色。

Thread.Sleep(1000);
到了这里线程就暂停了

页面还没有重新加载出来

用多线程。 线程被阻止了。