我找到了Form.TopMost
属性,但它将表单置于所有内容之上,包括不属于我的应用程序的内容。我怀疑我在这里遗漏了一些明显的东西。 (Form
是非模态对话框的正确基类吗?)
答案 0 :(得分:30)
使用对话框表单的Form.Owner属性并将其设置为主窗体。
在这里阅读更多内容 http://msdn.microsoft.com/en-us/library/system.windows.forms.form.owner.aspx
所有者表格永远不会显示在所有者表格后面。
答案 1 :(得分:8)
很简单;您只需在调用Show()
方法
YourForm.Show(parentForm);
答案 2 :(得分:1)
您可以通过将父Form作为参数提供给子Form上调用的ShowDialog()方法来指定窗口之间的父子关系。然后,子窗口将保持在父窗口的顶部,并最小化并与父级一起恢复。
答案 3 :(得分:0)
如果我理解你正确地从你的应用程序打开一个表单,并且你希望你的新表单在旧表单之上。
为此,您可以使用ShowDialog()和StartPosition
SomeForm MyNewForm = new SomeForm();
MyNewForm.ShowDialog();
这将使该表单保留在原始表单之上,您也可以使用
MyNewForm .StartPosition = FormStartPosition.CenterParent;
控制新表单在屏幕上显示的位置。