【问题标题】:Calling Me.Validate on a Windows Form does not fire the Validating event in VB.NET, how can I make it?在 Windows 窗体上调用 Me.Validate 不会触发 VB.NET 中的 Validating 事件,我该怎么做?
【发布时间】:2013-08-02 09:26:11
【问题描述】:

我想在我的 VB.NET Windows 窗体应用程序中使用内置的验证框架。

在表单中,我需要验证表单中的特定控件。我可以在需要时通过手动调用ValidateChildren() 轻松获得。但是,我需要进行表单范围的验证,而不是特定于任何控件。

我尝试通过调用Me.Validate()(用于表单)并处理Me.Validating 事件来做到这一点。但是,当调用 Me.Validate() 时,由于某种原因,事件不会被触发

我为表单和所有控件设置了CauseValidation = True

如何使用内置的验证框架获得我想要的?

【问题讨论】:

  • 这是你想要达到的目标吗? - stackoverflow.com/questions/558621/…
  • 不,我知道如何验证孩子,但是当我调用 form.validate 过程(应该会触发 form.validating 事件)时,我需要触发一些与自定义无关的代码。跨度>
  • 我刚刚经历了完全相同的行为,并且对答案也很感兴趣:)

标签: .net vb.net winforms validation


【解决方案1】:

我刚刚发现问题中描述的行为是设计使然

来自MSDN(我的亮点):

ContainerControl.Validate 方法()

(..)

备注

Validate 方法验证最后一个未验证的子控件及其上级控件,但不包括当前容器控件 .

【讨论】:

    猜你喜欢
    • 2011-02-14
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多