.NET Winform 自定义窗体 - 需要返回DialogResult或以某种方式防止异步事件

4
我有一个表单调用了自定义的子表单,子表单是一个弹出框,获取一些用户数据。
我希望父表单能够处理子表单返回的信息。
问题在于,父表单调用子表单时并没有等待回复。
理想情况下,我希望子表单返回一个DialogResult。从功能上来说,这很清楚(特别是因为用户可以选择取消子控件),似乎是迫使父表单等待的简单方法。但我还没想到怎么做。
第二个问题是,父控件继续执行childDialog.Show()事件,并尝试处理Child控件的信息。 但这些信息还没有被修改。
使用子控件的公共值(例如childDialog.UserClickedOK)设置条件并不能帮助解决问题,因为默认值仍然有效。
我错过了什么?
谢谢大家! :)
1个回答

6

您需要使用ShowDialog而不是Show以模态显示表单。在您的子表单中,根据之前发生的用户交互,将DialogResult设置为最合理的值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接