![]() |
1
7
以下是获取使用win32的最顶层表单的一种方法(虽然不是很优雅,但可以工作):
|
![]() |
2
3
用这个怎么样 Application.Openforms
|
![]() |
3
3
我知道这是一个4年前的线程,但我也遇到了类似的问题,我只是想出了一个替代的解决方案,以防其他人遇到这个问题,不想把win32调用搞得一团糟。 我认为最上面的表单将是最后激活的表单。因此,您可以保留一个单独的表单集合,类似于application.openforms,但这个集合将按上次激活时的顺序排列。每当激活窗体时,将其移动到集合的第一个项。每当看到Esc键时,都会关闭集合[0]并将其移除。 |
![]() |
4
1
应用程序对象使用FormCollection通过OpenForms属性列出应用程序中当前打开的表单。 见 http://msdn.microsoft.com/en-us/library/system.windows.forms.application.openforms.aspx 然后可以检查每个窗体的topmost()属性。当你找到一个最上面的形状,你就关闭它。 |
![]() |
5
1
您可以在最顶层的表单中实现一个类似于单例的模式,并提供一个静态属性,该属性返回自身的一个实例并简单地关闭它。
|
![]() |
GoTouchGrass · 右键单击按钮不会触发事件 10 月前 |
![]() |
NEWBIE · 无法在winform中设置变量 10 月前 |
![]() |
Farrow · 我无法使字符串正确显示 1 年前 |
|
IDNKEK · 在Visual Studio中绘制图表时出现问题 1 年前 |