21

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

此表单只是一个菜单和一系列文本框和标签。在本示例中,您可以忽略标签。

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

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

4

1 回答 1

33

我以前有过这个。在您的表格中:

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

MSDN 上的 ValidateChildren

于 2009-02-17T20:49:44.223 回答