推荐的将用户控制面板操作到Windows的方法

时间:2018-07-07 17:14:00

标签: c# winforms user-controls windows-forms-designer

我刚刚开始使用Visual Studio C#,老实说,我不完全理解当我们选择隐藏表单或用户控件时会发生什么。

我的直觉告诉我,这种隐藏/显示方法是一种“低效”的方式,无法使用户充分了解我应用程序的所有功能。

所以我问你们是否还有另一种解决方法可以“加载”表单中的用户控制部件。

现在,我的main_menu表单将所有用户控件对象放置在表单上,​​但是已隐藏,并且我正在使用按钮来显示它们。

是否有更好的方法来达到相同的结果? (我想到的是一种变通方法,例如有一个空面板,我可以在其中加载用户控件-不确定是否可以)

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以即时创建控件,并将其添加到Controls集合中或从中删除。在班级上,定义此字段

private Control _currentPanel;

如果要从通用基本类型派生所有面板,则可以在此处使用更特定的类型。

然后使用更改面板

// Remove previous one.
if (_currentPanel != null) {
    Controls.Remove(_currentPanel);
}

// Add new one
_currentPanel = new MyNewPanel();
 //TODO: possibly set the panels Docking property to Fill here.
Controls.Add(_currentPanel);

在示例中,我正在处理表单的Controls集合;但是,您可能必须使用保存面板的某些容器控件的Controls集合。