我有一个设置为 TopMost 的父表单,然后我有另一个在单击按钮时打开的表单。此子窗体也设置为 TopMost。我遇到的第一个问题是,当我打开子窗体时,应用程序基本上会卡住,因为您无法访问任何内容。我决定不使用 ShowDialog() 打开子窗体,而是使用 Show(this)。这确实解决了最初的问题,但现在我有了一个新问题。子窗体的起始位置设置为 CenterParent,当我使用 Show(this) 时,它不起作用。有什么方法可以打开子窗体,同时将子窗体和父窗体都设置为最顶层,同时将子窗体的起始位置设置为 CenterParent?谢谢。
最佳答案
伙计们,我发现了一些有用的东西要与你们分享。而是遵循代码
form2.TopMost = true;
在主窗体中使用此代码:
form2.Owner = this;
如果您使用 Form.TopMost 属性,该表单将与所有其他非最顶层表单重叠,但也包括来自其他应用程序的表单。取而代之的是,将 Form.Owner 属性设置为父表单——应该在表单下的那个(例如主表单)。 好运:)
关于C# - 如何处理 2 "TopMost"表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1627387/