【发布时间】:2011-10-10 04:21:54
【问题描述】:
我正在用 C# 开发一个应用程序。我有一个主窗体,其中有一些按钮可以让用户在主窗体中启动一个新窗体。
当打开更多此类表单并且用户选择最小化一个时,它会回到所有打开的表单后面。因此,如果用户想要再次打开该表单,他必须关闭/最小化所有表单。(因为能够看到最小化的表单)
如何管理最小化的表单位置,使其在最小化后可见?我尝试过没有任何结果的东西:bringToFront、Activate、Focus 等。
我的主表单包含按钮和面板,因此表单在按钮下方的面板中打开。
【问题讨论】:
-
我不确定有没有办法,你正在处理两个相互排斥的状态。当窗体最小化时,它是不可见的。您是说要设置窗体从最小化到非最小化时的位置吗?
-
你能发布一些示例截图吗?我的第一个想法是您必须处理用户打开表单的方式。你到底是什么意思“开始一个新的表格进入主表格”你是什么意思?
-
您的主表单设置为 mdi 表单吗?您是否正在跟踪您在窗口菜单等中打开的表单?如果窗体是最小化的,你想把它放在前面,你必须先把它设置为正常或最大化,然后再把它放在前面。
-
@RamHound 我发布了截图
-
我已经看到了,这是由代码中的错误触发的行为。不确定是什么原因造成的,但它与防止表单窗口在最小化时隐藏的代码有关。无论如何,正确的方法是确保表单的 ShowInTaskbar 属性设置为 True,以便用户始终可以使用任务栏按钮返回到表单。不要试图利用这个漏洞,它无处可去。
标签: c# forms location position minimized