我认为Shown
就是答案。但似乎并非所有控制都是平等的。立即显示面板 ,而标签显示。
我有以下代码:
public partial class Form2 : Form
{
Panel p = new Panel() { BackColor = Color.Green };
Label l = new Label() { Text = "abc", Location = new Point(0, 100) };
public Form2()
{
Controls.Add(p);
Controls.Add(l);
Shown += new EventHandler(Form2_Shown);
}
void Form2_Shown(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(2000);
}
}
最初,这表明了这一点:
2秒后 - 这个:
那么如何在“第二张图片”之后运行代码?
答案 0 :(得分:2)
void Form2_Shown(object sender, EventArgs e)
{
Application.DoEvents();
System.Threading.Thread.Sleep(2000);
}
我认为这可以得到你想要的东西,但恕我直言,如果你有一个漫长的操作,你应该开始另一个线程。
答案 1 :(得分:0)
在事件处理程序的开头添加以下内容:
this.Update();