C# 如何通过按键引发验证事件
我想提出:C# 如何通过按键引发验证事件,c#,.net,winforms,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(
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)
出现错误是因为在这种情况下,
e
是一个EventArg
s,而验证函数需要一个System.ComponentModel.CancelEventArgs
等等,如何将EventArgs
转换为System.ComponentModel.CancelEventArgs
或创建一个,以便调用验证函数?通常,无论验证程序是什么,您都可以对其调用Validate(),而不是执行此操作
否则,只需“新建”canceleventargs本身-这并不特别,构造函数是公共的
参见MSDN:
您无需从
txtbox\u startdate\u Leave
事件调用txtbox\u startdate\u Validating
事件(或任何其他具有验证事件的控件),因为作为设计的一部分,事件的顺序是从一个事件到另一个事件。,通过抛出异常,在本例中忽略异常,但我想知道是否有更“优雅”的解决方案,或者其他什么!Winforms问题-webforms验证程序不适用。