我有一个动态创建的表单。这是一个winForms应用程序。
此表单只是一个菜单和一系列文本框和标签。为了这个例子,你可以忽略标签。
我的问题是:当我在文本框中编辑内容时,然后单击菜单发出“保存”,最后一个文本框中的文本仍然没有发出其“验证”方法。这似乎是因为控件仍然具有焦点,并且菜单位于单独的线程中。
当用户点击“保存”时,如何强制验证事件?我不知道用户在哪个文本框中(如果有的话),并且在“保存”功能中发出SomeKnownControl.Focus();
似乎没有帮助。
答案 0 :(得分:31)
我之前有过这个。在您的表格中:
private void SaveButtonClick(...)
{
if (this.ValidateChildren())
{
// do save
}
}