C# 控制的目的。验证()

C# 控制的目的。验证(),c#,winforms,C#,Winforms,我想知道 为什么Control.Validate()存在 在哪些情况下应该/不应该使用 在哪种情况下它会很方便 我将给您举一个例子,就像msdn在这里所做的那样: 一个简单的例子是,当您试图“验证”用户在文本框中输入的电子邮件地址时。如果电子邮件地址不是标准格式(包含“@”和“.”),验证将失败,将显示ErrorProvider图标,并取消事件。本例要求在表单上创建文本框和错误提供程序控件 这就是它的功能: 如果CausesValidation属性设置为false,则验证和验证事件将被抑制 如

我想知道

  • 为什么
    Control.Validate()
    存在

  • 在哪些情况下应该/不应该使用

  • 在哪种情况下它会很方便


我将给您举一个例子,就像
msdn
在这里所做的那样:

一个简单的例子是,当您试图“验证”用户在
文本框中输入的电子邮件地址时。如果电子邮件地址不是标准格式(包含“@”和“.”),验证将失败,将显示
ErrorProvider
图标,并取消事件。本例要求在表单上创建
文本框
错误提供程序
控件

这就是它的功能:

如果
CausesValidation
属性设置为
false
,则
验证
验证
事件将被抑制

如果
Validating
事件委托中将
CancelEventArgs
的Cancel属性设置为
true
,则通常在
Validating
事件之后发生的所有事件都将被抑制


你的意思是
Invalidate()
控件上没有
Validate()
方法。我猜你的意思是
ContainerControl
Validate()