gpt4 book ai didi

c# - Winforms 添加和删除用户控件

转载 作者:太空宇宙 更新时间:2023-11-03 23:18:07 25 4
gpt4 key购买 nike

所以我有一个应用程序,它使用单一主窗体,窗体左侧有一个菜单。

在右侧,我有一个 面板,它充当我创建的任何 UserControl 的占位符。

每次用户单击菜单项时,相关的UserControl 将使用如下代码显示:

//Display UserControl first
ucMyUserControl uc = new ucMyUserControl ();
uc.Dock = DockStyle.Fill;
pnlContainer.Controls.Add(uc);

有没有比为每个按钮或每当我想显示 UserControl 时复制和粘贴更好的方法。我是否应该创建一个每次调用的函数并只传递我想使用的 UserControl 的名称?

也许我一开始就弄错了我使用它的方式 - 我是这个概念的新手,只是尝试一下。

最佳答案

当然,不要重复你自己。使用辅助方法编写 DRY 代码。它可能看起来像这样:

public void ShowPage(UserControl uc) {
while (pnlContainer.Controls.Count > 0) pnlContainer.Controls[0].Dispose();
uc.Dock = DockStyle.Fill;
pnlContainer.Controls.Add(uc);
}

现在您只需调用 ShowPage(new ucMyUserControl());

请注意,看起来古怪的 while 循环很重要,您不只是想使用 Controls.Remove() 方法。处置您删除的控件非常重要,否则它们将永远存在并最终导致您的程序崩溃。

关于c# - Winforms 添加和删除用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36567788/

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