我有一个问题,当我关闭由打电话ShowDialog(owner)
。
奇怪的是,这种情况并非每次都会发生。我看不到 owner/parent 参数是如何被清除的,所以我不知道为什么 parent 会消失。
我有一个问题,当我关闭由打电话ShowDialog(owner)
。
奇怪的是,这种情况并非每次都会发生。我看不到 owner/parent 参数是如何被清除的,所以我不知道为什么 parent 会消失。
我每次都能重现。
该错误不在 WinForms 中,而是在 windows API 中(我可以使用 C 代码轻松重现它)。
避免三重嵌套对话框,这似乎是主要触发器。
您还可以在 OnClose 中重新聚焦正确的表单。
在 MdiParent 中......所有子窗体都会自动加载 {Maximize}{Minimize}{CLose} 按钮......
您只需要像在普通窗口中一样使用这些按钮,,,,,......
表格将被最小化,但仍将显示在 MdiParent....
参考:http ://www.itpian.com/Coding/6412-How-to-minimize-Form-which-is-shown-in-parent-Form.aspx
在调用 Close() 之前将焦点设置到窗体的 Mdiparent。为我工作...
尝试使用此代码,我有同样的问题,终于找到了这个解决方案
ChildForm childForm = new ChildForm();
childForm.Show(this);
不确定你是否破解了这个,但这可能是你处理对话框中事件的方式。确保您已设置对话框表单 AcceptButton 和 CancelButton 属性,然后在其单击事件处理程序中返回结果。
如果您有任何隐藏对话框的代码,您将遇到问题。