如何让一个窗体始终置于另一个窗体之上?

19

我发现了Form.TopMost属性,但它会将窗体置于所有东西的顶部,包括不属于我的应用程序的内容。我怀疑我可能忽略了一些显而易见的东西。(对于非模态对话框框架,Form是否是适当的基类?)

4个回答

31

有没有办法使拥有者窗体无法操作,直到它所拥有的窗体被关闭? - PGmath

11

非常简单;只需在调用Show()方法时传递所有者即可。

YourForm.Show(parentForm);

1

您可以通过将父窗体作为参数提供给子窗体的ShowDialog()方法来指定窗体之间的父子关系。子窗体将保持在父窗体的顶部,并且随着父窗体一起最小化和还原。


我不能使用ShowDialog,因为它会使其模态化。 - BCS

0

如果我理解正确,您正在从应用程序中打开一个表单,并且希望新表单位于旧表单之上。

为此,您可以使用 ShowDialog()StartPosition

SomeForm MyNewForm = new SomeForm();
MyNewForm.ShowDialog();

这将使表单保持在原始表单的顶部,您还可以使用

MyNewForm .StartPosition = FormStartPosition.CenterParent;

控制新表单在屏幕上显示的位置。

我不能使用ShowDialog,因为它会使其模态化。 - BCS

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