在.NET Windows Forms中,为什么要使用Activated和Deactivate

时间:2014-11-03 18:07:37

标签: .net windows forms

在.NET Windows窗体中,如果我们需要添加在显示表单或隐藏表单时执行的代码,我们会将代码添加到Activated和Deactivate事件处理程序而不是GotFocus和LostFocus事件处理程序。为什么?

在.NET Windows窗体中,如果在调用Hide方法时表单尚未加载到内存中,Hide方法会做什么?

1 个答案:

答案 0 :(得分:1)

输入焦点与被激活的表单不同。应用程序中的单个控件可以随时聚焦,因为这决定了键盘输入的发送位置。这意味着即使您的表单确实获得了焦点,当单击表单中的子控件(例如文本框)时,它也会丢失它。因此,我们在表单上有单独的Activated / Deactivated事件,以便在它是活动窗口时进行跟踪。

在表单上调用Hide()只是将Visible属性设置为false,因此在已经不可见的表单上调用Hide()将不起作用。