如何通过按键提升验证事件

时间:2010-06-15 01:49:36

标签: c# .net winforms

我想提出:

private void txtbox_startdate_Validating(object sender, System.ComponentModel.CancelEventArgs e)
    {}

关键离开事件的功能。离开事件如下:

private void txtbox_startdate_Leave(object sender, EventArgs e)
    {}

当然,如果我尝试以这种方式调用它,那就麻烦了:

txtbox_startdate_Validating(sender, e)

引发错误,因为在这种情况下eEventArg,而验证函数需要System.ComponentModel.CancelEventArgs,因此,我如何将EventArgs转换为{ {1}}或创建一个以便我可以调用我的验证函数?

2 个答案:

答案 0 :(得分:0)

请参阅MSDN:

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.validating.aspx

您无需从txtbox_startdate_Validating事件调用txtbox_startdate_Leave事件(或带有验证事件的任何其他控件),因为事件的顺序是从一个事件到另一个事件的一部分。设计。

答案 1 :(得分:-1)

通常无论验证器是什么,您都可以在其上调用Validate()而不是这样做。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.basevalidator.validate.aspx

否则,自己只是'新'取消防范 - 它并不特别,构造者是公开的。

http://msdn.microsoft.com/en-us/library/system.componentmodel.canceleventargs.canceleventargs.aspx