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

本文关键字:运行 代码 表单 显示 | 更新日期: 2023-09-27 18:08:51

我认为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窗体有一个显示事件。查看: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的感觉,这是不好的。

最好显示一些临时的"Wait for…"表单,在完成你执行的操作/计算后,显示你的主表单。

更加注重用户体验的设计

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

Thread.Sleep(3000);在Load事件处理程序中,将窗体打开延迟3秒。这就是为什么它不像你期望的那样工作。定时器是最好的解决方案。