我刚刚开始使用Visual Studio C#,老实说,我不完全理解当我们选择隐藏表单或用户控件时会发生什么。
我的直觉告诉我,这种隐藏/显示方法是一种“低效”的方式,无法使用户充分了解我应用程序的所有功能。
所以我问你们是否还有另一种解决方法可以“加载”表单中的用户控制部件。
现在,我的main_menu表单将所有用户控件对象放置在表单上,但是已隐藏,并且我正在使用按钮来显示它们。
是否有更好的方法来达到相同的结果? (我想到的是一种变通方法,例如有一个空面板,我可以在其中加载用户控件-不确定是否可以)
谢谢!
答案 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
集合。