如何关闭打开的表单并在单击按钮时打开新表单

问题描述 投票:0回答:5

我目前有两个Winforms打开。在两个Winforms中是Login表单。现在根据我的要求,如果用户输入了正确的凭据,则需要关闭这两个打开的表单并应打开新表单。意味着我必须关闭打开的winforms并在登录表单的按钮单击事件上打开新的Winform。在这里,我不知道确切打开了哪些窗口,因为登录表单窗口来自每个表单上都存在的菜单按钮单击事件请帮助我。谢谢。

我目前有两个Winforms正在打开。在两个Winforms中是Login表单。现在按照我的要求,如果用户输入了正确的凭据,那么这两个打开的表单都需要关闭,新表单应该...

c# winforms buttonclick
5个回答
0
投票

尝试一下:

foreach (Form f in Application.OpenForms)
{
    f.Close();
}

0
投票

您可以遍历Application.OpenForms集合并关闭所需的集合。


0
投票

您不能使用foreach来关闭前面的答复中建议的表单。这是因为无法使用foreach来更改枚举表单列表(当您关闭它们时,会出现运行时错误)。即使您使用for循环,也必须检查主窗体是否也没有被错误关闭...


0
投票

在您的登录表单中,将默认构造函数设为私有,并添加一个新的构造函数和一个私有成员,如下所示:


0
投票

如果您要在成功登录后切换到主表单,请参阅此我的答案https://stackoverflow.com/a/59891244/4190858

© www.soinside.com 2019 - 2024. All rights reserved.