c# winform 有没有一个事件,来表示winform窗体已加载完成?

二号匪 2011-10-13 11:21:26
如题~

Load ?

Shown?

貌似都不能满足要求


目的就是想在窗体显示到桌面之后再启用其他线程加载数据
...全文
3689 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
写一个公共方法,在show()返回之后再调用其创建/运行线程
山东蓝鸟贵薪 2011-10-13
  • 打赏
  • 举报
回复
谢谢分享,学习学习
  • 打赏
  • 举报
回复
既然你“启用其它线程加载数据”,那么就算“Load的定义是在第一次显示窗体前发生”那又怎样?
sdl2005lyx 2011-10-13
  • 打赏
  • 举报
回复
”表示winform窗体已加载完成“,
那你要加载什么才表示完成啊?
二号匪 2011-10-13
  • 打赏
  • 举报
回复
实际测试,Load也是不可的

Load的定义是在第一次显示窗体前发生

Shown 是 只要是窗体首次显示就发生

sdl2005lyx 2011-10-13
  • 打赏
  • 举报
回复
Load 就可以了,因为在构造函数已经执行InitializeComponent();这个函数才是窗体上的控件加载过程!
龍月 2011-10-13
  • 打赏
  • 举报
回复
Load -------------------------------------------- CSDN Winform 已经公开源码,有兴趣的朋友可以去我博客下载。 -------------------------------------------- 此消息通过 【CSDN论坛 Winform正式版】 回复!有关此工具
卧_槽 2011-10-13
  • 打赏
  • 举报
回复
load事件并不发生在窗体已经显示出来的时候。
萧炎 2011-10-13
  • 打赏
  • 举报
回复
在load事件里面 最后写
messagebox.show("加载完成");
mq2003hwj 2011-10-13
  • 打赏
  • 举报
回复
protected override void OnCreateControl()
{
base.OnCreateControl();
//TDD:Add your code here
}
zdzcool 2011-10-13
  • 打赏
  • 举报
回复
窗体完成了。然后其他的线程再加载数据?这个问题有点意思。

感觉7楼说的对,

你如果是要在窗体加载完成后再进行操作,

感觉还是加一个静态的标志变量吧。
二号匪 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 llqqsoft 的回复:]

看你的要求,感觉你还没能把对像设计和模块设计分清,一个窗体,和一个线程里的东西与不相干。你的窗体启动得怎么样。都和线程里无关。你可以在你的公用处加个标志,如果在静态类里加有标志就可以了。如果你想在窗体加载完毕再在窗体上加东西。你完全可以通过判断标志值来解决。你可以在你加载完窗体的东西后,将自己加载完成的标志值置真值就行了。
C#、对象。与模块设计不很同。你管你的,我管我的。你要我的东西,要看我……
[/Quote]

谢谢了,从你的讲解中悟出来点

其实我的目的就是想: 让一个窗体实实在在的显示在桌面上,看得见摸的着,然后再启用其他加载数据的线程
静态变量倒是一个很好的办法~
少控科技 2011-10-13
  • 打赏
  • 举报
回复
看你的要求,感觉你还没能把对像设计和模块设计分清,一个窗体,和一个线程里的东西与不相干。你的窗体启动得怎么样。都和线程里无关。你可以在你的公用处加个标志,如果在静态类里加有标志就可以了。如果你想在窗体加载完毕再在窗体上加东西。你完全可以通过判断标志值来解决。你可以在你加载完窗体的东西后,将自己加载完成的标志值置真值就行了。
C#、对象。与模块设计不很同。你管你的,我管我的。你要我的东西,要看我可以给了没有。你要我的东西,你看我可以给了你随时可以要。我没说要给,即使我有了你也不能要。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧