c# - 为什么我的验证事件没有在 C# 中触发?

标签 c# winforms validating-event

我有一个动态创建的表单。这是一个 winForms 应用程序。

这个表单只是一个菜单和一系列文本框和标签。为了这个例子,你可以忽略标签。

我的问题是:当我在文本框中编辑内容,然后单击菜单发出“保存”时,最后一个文本框中的文本仍然没有发出其“验证”方法。这似乎是因为控件仍然具有焦点,并且菜单位于单独的线程中。

如何在用户单击“保存”时强制触发验证事件?我不知道用户在哪个文本框上(如果有的话),并且在“保存”功能中发出 SomeKnownControl.Focus(); 似乎没有帮助。

最佳答案

我以前遇到过。在您的表单中:

private void SaveButtonClick(...)
{
    if (this.ValidateChildren())
    {
        // do save
    }
}

ValidateChildren on MSDN

关于c# - 为什么我的验证事件没有在 C# 中触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/558621/

相关文章:

c# - 我如何每 5 秒检查一次数据库而不卡住 C# 中的 gui?

c# - 取消 TabPage.Validating 锁定我的 UI

c# - 如何将 aspx 页面加载到 webpart

c# - 如何接收面板控件上的事件?

c# - PropertyGrid 中的斜体文本

C# 体系结构指南与 JavaEE

c# - 将字节数组转换为 int32

c# - 在 Win 窗体中模拟 WebBrowser 控件上的复制粘贴