首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在加载窗体后执行代码?

如何在加载窗体后执行代码?
EN

Stack Overflow用户
提问于 2008-10-20 14:58:59
回答 8查看 190.8K关注 0票数 144

在.NET中,Windows Forms有一个在加载窗体之前激发的事件(Form.Load),但在窗体加载之后没有相应的事件激发。我想在表单加载后执行一些逻辑。

有人能给出解决方案的建议吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-10-20 16:59:27

您可以使用"Shown“事件:MSDN - Form.Shown

只有在第一次显示窗体时才会引发Shown事件;随后的最小化、最大化、恢复、隐藏、显示或无效和重新绘制将不会引发此事件。

票数 213
EN

Stack Overflow用户

发布于 2015-09-20 23:58:40

第一次它不会启动"AfterLoading",

它只会注册它来开始下一次加载。

private void Main_Load(object sender, System.EventArgs e)
{
    //Register it to Start in Load 
    //Starting from the Next time.
    this.Activated += AfterLoading;
}

private void AfterLoading(object sender, EventArgs e)
{
    this.Activated -= AfterLoading;
    //Write your code here.
}
票数 9
EN

Stack Overflow用户

发布于 2013-09-30 12:55:03

我也遇到了同样的问题,解决方法如下:

实际上,我想显示消息,并在2秒后自动关闭它。为此,我必须生成(动态)简单的表单和一个标签,显示消息,停止消息1500毫秒,以便用户阅读它。并关闭动态创建的表单。显示的事件发生在加载事件之后。所以代码是

Form MessageForm = new Form();
MessageForm.Shown += (s, e1) => { 
    Thread t = new Thread(() => Thread.Sleep(1500)); 
    t.Start(); 
    t.Join(); 
    MessageForm.Close(); 
};
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/218732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档