gpt4 book ai didi

c# - 如何在 C# 中显示一个用户控件并隐藏其余控件

转载 作者:行者123 更新时间:2023-11-30 13:36:20 32 4
gpt4 key购买 nike

我是 C# 的新手,我正在使用 Windows 窗体。

我的 Form1 有 20 个按钮 和 20 个用户控件。我想做的是:

当我点击 button1 user control1 出现并且其余的 user controls 隐藏时,点击 button2 user control2出现,其余user controls隐藏,点击button3 user control3出现,其余用户控件隐藏等等。我可以使用 UserControl.visible = True 来显示一个 user control 并通过设置其余的 user controls visibility = False 来隐藏其余部分,但我不想写太多代码。

因此,我使用以下简单代码在单击相关按钮 时仅显示一个用户控件,并隐藏其余的用户控件,但此代码无法正常运行,但 user controls 仍然可见。

任何人都知道为什么这段代码没有显示一个用户控件 并隐藏其余的?我也很乐意听到其他想法。谢谢

private void button1_Click(object sender, EventArgs e) 
{
foreach (Control ctrl in this.Controls)
{
if (ctrl .GetType() == typeof(UserControl))
{
ctrl .Visible = false;
}
}
UserControl1.visible = True;
}

最佳答案

您的代码未按预期工作的原因是这种情况:

if (ctrl.GetType() == typeof(UserControl))

GetType() 返回永远不会是 UserControl 的实际类型,但有些派生自它。

改用下面的

if (ctrl is UserControl)

关于c# - 如何在 C# 中显示一个用户控件并隐藏其余控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35176268/

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