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

现在,我只是将每个UserControl的一个实例拖到窗体上,然后将一个实例放置在另一个实例上(设置一个.Visible = false;)。

可以,但是我想知道是否有更好或更合适的方法?

最佳答案

那是完全合理的。

如果您担心保留不再使用的资源,则可以添加Panel并从此处添加或删除控件。

例如。

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


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

关于c# - 在面板上的两个UserControl之间“切换”的最佳方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9491627/

10-15 03:01