最佳方式“;toggle”;在面板上的两个UserControls之间

本文关键字:两个 之间 UserControls toggle 方式 最佳 | 更新日期: 2023-09-27 18:26:17

我已经创建了两个单独的UserControls,并且(取决于选择了哪个RadioButton)我希望显示其中一个或另一个。

现在,我只需将每个UserControl的一个实例拖到表单上,并将一个实例放在另一个实例的顶部(设置一个.Visible = false;)。

这是可以的,但我想知道是否有更好或更合适的方法来做到这一点?

最佳方式“;toggle”;在面板上的两个UserControls之间

这完全合理。

如果您担心保留不再使用的资源,可以添加Panel并在其中添加或删除控件。

例如

try
{
    panel.SuspendLayout();
    panel.Controls.Remove(userControl1);
    panel.Controls.Add(userControl2);
}
finally
{
    panel.ResumeLayout();
}

如果用户控件执行诸如连接到数据源之类的操作,则可能需要实际处置并重新创建它们。实际上取决于控件的复杂程度。如果他们只是捕获一些属性,那么您当前的解决方案是可以的。