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

委托预定?
this.textBoxName.Validating += new System.ComponentModel.CancelEventHandler(this.textBoxEmpty_Validating);
上句是什么意思?


------解决方案--------------------
这是一个订阅事件!通过委托定义的!前面那个是事件名,后面那个是委托名,在括号里面是要调用的方法名!
------解决方案--------------------
在TextBox控件正在验证时发生。

MSDN:

当通过使用键盘(Tab、Shift+Tab 等)、通过调用 Select 或 SelectNextControl 方法或者通过将 ContainerControl..::.ActiveControl 属性设置为当前窗体等方式更改焦点时,焦点事件按以下顺序发生: 

Enter

GotFocus

Leave

Validating

Validated

LostFocus

当通过使用鼠标或调用 Focus 方法的方式更改焦点时,焦点事件按以下顺序发生: 

Enter

GotFocus

LostFocus

Leave

Validating

Validated

如果 CausesValidation 属性设置为 false,则将取消 Validating 和 Validated 事件。

如果在 Validating 事件委托中,CancelEventArgs 的 Cancel 属性设置为 true,则正常情况下将在 Validating 事件之后发生的所有事件均被取消。

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

Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows CE 平台说明:

Validating 事件将在 .NET Compact Framework 上所有代码顺序中的 LostFocus 之后激发,以后无法还原焦点的情况除外(例如,关闭窗体时)。