gpt4 book ai didi

c# - 如何避免在 MDIParent C# Winforms 中显示多个子窗体

转载 作者:太空狗 更新时间:2023-10-29 18:15:22 25 4
gpt4 key购买 nike

当用户试图打开已在 MDIParent 中打开的子窗体时,我想避免我的子窗体出现多次。避免这种情况的一种方法是禁用 Controller (在我的例子中是 BUTTON),但我也为此功能提供了一个快捷键 (Ctrl+L)。因此,如果用户键入 Ctrl+L,则会打开同一个子窗体,我可以看到 MDI 中有两个子窗体。

private void leadsToolStripMenuItem_Click(object sender, EventArgs e)
{
frmWebLeads formWeblead = new frmWebLeads();
formWeblead.MdiParent = this;
formWeblead.WindowState = System.Windows.Forms.FormWindowState.Maximized;
formWeblead.Show();

}

我想避免这种情况。我怎样才能做到这一点? enter image description here

在图像中,您可以看到名称 Online Leads 的子表单被打开了两次,用户第一次使用菜单 (LEADS) 打开,第二次使用快捷键打开。我不希望这发生。如果表单已经打开,则应避免打开另一个相同的表单...如何操作?

最佳答案

如果我只应该打开一个,我通常这样做的方式是这样的:

//class member for the only formWeblead
frmWebLeads formWebLead = null;

private void leadsToolStripMenuItem_Click(object sender, EventArgs e)
{
if (formWebLead == null)
{
formWeblead = new frmWebLeads();
formWeblead.MdiParent = this;
}

formWeblead.WindowState = System.Windows.Forms.FormWindowState.Maximized;
formWeblead.Show();
}

关于c# - 如何避免在 MDIParent C# Winforms 中显示多个子窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6659445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com