我发现了Form.TopMost
属性,但它会将窗体置于所有东西的顶部,包括不属于我的应用程序的内容。我怀疑我可能忽略了一些显而易见的东西。(对于非模态对话框框架,Form
是否是适当的基类?)
使用对话框窗体的Form.Owner属性,并将其设置为主要表单。
在此处阅读更多信息 http://msdn.microsoft.com/en-us/library/system.windows.forms.form.owner.aspx
附属窗体将不会被显示在主要窗体后面。
非常简单;只需在调用Show()
方法时传递所有者即可。
YourForm.Show(parentForm);
您可以通过将父窗体作为参数提供给子窗体的ShowDialog()方法来指定窗体之间的父子关系。子窗体将保持在父窗体的顶部,并且随着父窗体一起最小化和还原。
如果我理解正确,您正在从应用程序中打开一个表单,并且希望新表单位于旧表单之上。
为此,您可以使用 ShowDialog() 和 StartPosition。
SomeForm MyNewForm = new SomeForm();
MyNewForm.ShowDialog();
这将使表单保持在原始表单的顶部,您还可以使用
MyNewForm .StartPosition = FormStartPosition.CenterParent;