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

Jer*_*rry 19 c# validating-event winforms

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

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

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

当用户点击"保存"时,如何强制验证事件?我不知道用户所在的文本框(如果有的话),并且SomeKnownControl.Focus();在"保存"功能中发布似乎没有帮助.

geo*_*tnz 31

我之前有过这个.在你的形式:

private void SaveButtonClick(...)
{
    if (this.ValidateChildren())
    {
        // do save
    }
}
Run Code Online (Sandbox Code Playgroud)

MSDN上的ValidateChildren