我认为Load事件可能有所帮助,但以下代码只是立即显示“完成”。
public Form1()
{
InitializeComponent();
Load += new EventHandler(Form1_Load);
}
void Form1_Load(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(3000);
Text = "Done";
}
如何在显示表单后使其休眠?
感谢。
答案 0 :(得分:22)
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";
}
享受。
答案 1 :(得分:3)
我建议不要阻止表单,处理一些内容并在标题“完成”后显示,导致你想要做的事情,我猜想。这为用户提供了阻止的UI感觉,这是不好的。
最好显示一些临时的“等待......”表格,并在完成您执行的操作/计算后,显示您的主要表格。
更多以UX为重点的设计。
答案 2 :(得分:0)
您可以在Form1_Load方法中启动Timer,并将其Elapsed事件链接到显示该消息的方法。
答案 3 :(得分:0)
Thread.sleep代码(3000);在Load事件处理程序中将表单打开延迟3秒。这就是为什么它不像你期望的那样工作。计时器是最好的解决方案。