如何在显示表单时运行代码?

我认为Load事件可能有所帮助,但以下代码只是立即显示“Done”。

public Form1() { InitializeComponent(); Load += new EventHandler(Form1_Load); } void Form1_Load(object sender, EventArgs e) { System.Threading.Thread.Sleep(3000); Text = "Done"; } 

表格显示后如何让它睡眠?

谢谢。

Windows窗体有一个Shown事件。 退房: http : //msdn.microsoft.com/en-us/library/system.windows.forms.form.shown.aspx

或者,如果你很懒,在这里你去:

 public Form1() { InitializeComponent(); Shown += Form1_Shown; } private void Form1_Shown(object sender, EventArgs e) { System.Threading.Thread.Sleep(3000); Text = "Done"; } 

请享用。

我建议不要阻止一个表格,处理一些东西,然后在标题“完成”中显示,导致你想要做的,我猜。 这给用户带来了阻止的UI感觉 ,这是不好的。

显示一些临时的“等待……”表格并完成您执行的操作/计算肯定会更好,显示您的主要表格。

更多的UX专注于设计。

您可以在Form1_Load方法中启动一个Timer ,并将其Elapsed事件链接到显示该消息的方法。

Thread.sleep代码(3000); 在Load事件处理程序中延迟表单打开3秒。 这就是为什么它不像你期望的那样工作。 计时器是最好的解决方案。