为什么有些事件会出现在代码中?

时间:2014-02-08 13:53:59

标签: c# events

我注意到一些奇怪的东西,因为文本框中有一些事件只出现在代码中,但在设计中(当我打开属性,然后单击事件选项卡时)这些事件是不可见的!

例如:

textbox1.LostFocus += textbox1.LostFocus;

或GotFocus事件。

任何人都有这个想法?

提前

thanx

2 个答案:

答案 0 :(得分:0)

这是因为有些事件不可浏览

如果您查看documentation,您会看到[BrowsableAttribute(false)]了解GotFocus等事件

如果BrowsableAttribute为false,则该事件不会显示在“属性”窗口中。

  

注意 GotFocus和LostFocus事件是低级别焦点事件   与WM_KILLFOCUS和WM_SETFOCUS Windows消息相关联。   通常,只有在使用时才使用GotFocus和LostFocus事件   更新UICues或编写自定义控件时。 而不是输入和   对于除Form类之外的所有控件,应该使用离开事件,   它使用Activated和Deactivate事件。

答案 1 :(得分:0)

您在哪个方法/功能中注册(+ =)该事件? Designer仅考虑在InitializeComponent(DesignerCode)/构造函数代码中注册的事件。

编辑:在这种情况下,Damith对Browsable是对的(假)。

如果您在Designer中看到事件,而不是链接的事件处理程序方法,我的回答将是有效的。