短版:VB.Net Windows表单功能控件经常从工具箱拖到表单上。控件的代码直接进入表单。通常这很好,但是是否可以将UI控件的代码(如面板)编写到单独的文件中,然后可以将其导入或以其他方式包含在主Form类中?
上下文(a.k.a.长版):我的表单左侧有一组不变的导航按钮。表单的其余部分由不同的面板占用,而这些面板又有不同的控件。单击左侧的不同按钮会导致出现这些不同的面板(单击按钮" A"调出面板" A&#34 ;;按钮" B"调出面板& #34; B"等),但左侧菜单应保持不变。
我很难在VB.Net中以优雅的方式实现这个设计。如果我将每个面板设置为单独的表单,我必须复制在每个文件中构建不变的左侧菜单的代码,这很糟糕。我尝试使用继承的表单,因此单独的面板将从主表单继承左侧菜单,但这意味着菜单上的每次单击都会在新窗口中发布新表单,尽管左侧菜单是继承的,但菜单我点击了,新窗口中看起来相同的菜单与内存中的对象不同,彼此不了解。
我只想要一个中心内容的窗口根据您在左侧单击的内容而变化。解决这个问题的方法是让面板只是 - 面板 - 而不是像我目前这样做的单独形式。但是这在组织上变得混乱,因为所有面板的代码都必须在一个巨大的主文件中。因此,我的问题的简短形式(见上文):如何在单独的文件中编写面板,然后将其放入主窗体的折叠中?
答案 0 :(得分:1)
听起来我想要使用usercontrols。为所需的四件事中的每件事创建一个用户控件,然后将其添加到面板中,根据按下的按钮使每一件都可见或不可见。