我创建了两个单独的 UserControls
,并且(根据选择的 RadioButton
)希望其中一个被显示。
现在,我只是将每个 UserControl
的一个实例拖到表单上,并将一个放在另一个上面(设置一个 .Visible = false;
)。
这样做还可以,但我想知道是否有更好或更合适的方法?
这是完全合理的。
如果你担心保留不再使用的资源,你可以添加一个面板
,并从其中添加或移除控件。
例如:
try
{
panel.SuspendLayout();
panel.Controls.Remove(userControl1);
panel.Controls.Add(userControl2);
}
finally
{
panel.ResumeLayout();
}
如果用户控件执行连接到数据源等操作,您可能需要实际处置和重新创建它们。这主要取决于控件的复杂程度。如果它们只是捕获一些属性,您当前的解决方案就很好。