日期:2014-05-18  浏览次数:21081 次

C# 事件Load和Shown区别
不知道事件Load和Shown区别啊。。。

事件Load是双击窗体的时候自动生成,也可以直接在程序中写
事件Shown只能在程序中自己写么


------解决方案--------------------
load是窗体创建完成的时候触发,shown是每次窗体visable的时候触发。load在shown之前触发。事件可在属性窗口的事件那里绑定
------解决方案--------------------
Load是加载,可以有也可以没有。和show没任何关系,show只是显示窗体。如果有Load的话会在InitializeComponent中绑定,第一次加载窗体的时候会执行,也不能说第一次加载,可以去掉第一次,因为没有第二次加载。
------解决方案--------------------
一前一后
------解决方案--------------------
探讨

引用:
load是窗体创建完成的时候触发,shown是每次窗体visable的时候触发。load在shown之前触发。事件可在属性窗口的事件那里绑定

正解

------解决方案--------------------
Form ..::.Shown 事件 Visual Studio 2010Visual Studio 2010 

发送反馈
只要窗体是首次显示就发生。


命名空间: System.Windows.Forms
程序集: System.Windows.Forms(在 System.Windows.Forms.dll 中) 
语法VBC#C++F#JScript以带有颜色区分的格式查看复制到剪贴板打印Public Event Shown As EventHandler

Public Event Shown As EventHandler
public event EventHandler Shown

public event EventHandler Shown
public:
 event EventHandler^ Shown {
void add (EventHandler^ value);
void remove (EventHandler^ value);
}

public:
 event EventHandler^ Shown {
void add (EventHandler^ value);
void remove (EventHandler^ value);
}
member Shown : IEvent<EventHandler,
EventArgs>

member Shown : IEvent<EventHandler,
EventArgs>




备注
只有在首次显示窗体时才会引发 Shown 事件;随后执行的最小化、最大化、还原、隐藏、显示或无效化和重新绘制操作都不会引发该事件。 

有关处理事件的更多信息,请参见 使用事件。 

参见MSDN


------解决方案--------------------
shown是窗体首次显示完毕了以后才执行,这样在应用当中可以减少感觉上的等待,load是在窗体创建完成时触发的,但是尚未显示,如果代码加载在这里的话给人感觉好像程序没被打开一样容易重复操作