这里有个奇怪的问题。我有一个登录表单,当用户单击按钮时会打开注册表单:
Register registration = new Register();
registration.Show();
此时,第二个表单在Login表单前打开 - 两个窗口都是打开的,没有最小化,这很好。但是,当用户完成注册并且注册成功时:
if (success)
{
this.Close(); //('this' being the Registration form)
}
注册表格关闭(好),但登录表单最小化,我不知道为什么。理想情况下,我希望表单始终保持打开状态,而不必单击任务栏图标再次在屏幕上显示。
我想它还有比我提供的代码更多的东西,如果需要的话,很乐意提供更多代码。只是不确定问题在哪里。
答案 0 :(得分:0)
虽然我不知道为什么会这样(但不应该),{{1}}应该是更好的选择。
答案 1 :(得分:0)
你也可以试试showDialog(this)
答案 2 :(得分:0)
我现在遇到了同样的问题,甚至在使用ShowDialog()
时也会发生。我做了一些研究,花了很多时间弄清楚它是什么之后,才发现以主要形式将FormBorderStyle
设置为System.Windows.Forms.FormBorderStyle.FixedToolWindow
(或SizableToolWindow
)是可行的。我还遇到(并且可以重现)类似的问题,即使设置了FixedToolWindow
,即使子窗体也可以最小化,所以对我来说,唯一的“真实”解决方案是不要在任何窗体上使用此边框样式。>
将其更改为任何其他FormBorderStyle
值都可以完全解决此问题,尽管那样显然您将无法再使用此边框样式。
在这里留下这个答案是为了帮助其他偶然发现这个问题的人,因为这个问题显然在2019年仍然存在。