2

简短版:VB.Net Windows 窗体功能控件通常从工具箱拖到窗体上。控件的代码直接进入表单。通常这很好,但是是否可以将 UI 控件(如面板)的代码写入单独的文件中,然后可以将其导入或以其他方式包含到主窗体类中?

上下文(又名长版):我有一个表单,左侧有一列不变的导航按钮。表单的其余部分由不同的面板占据,这些面板又具有自己的不同控件。单击左侧的不同按钮应该会导致出现这些不同的面板(单击按钮“A”会调出面板“A”;按钮“B”会调出面板“B”等),但左​​侧菜单应保留不变。

我很难在 VB.Net 中以一种优雅的方式实现这个设计。如果我让每个面板成为一个单独的表单,我必须复制在每个文件中构建不变的左侧菜单的代码,这很糟糕。我尝试使用继承的表单,以便单独的面板从主表单继承左侧菜单,但这意味着每次单击菜单都会在新窗口中生成新表单,虽然左侧菜单是继承的,但菜单我单击的那个和新窗口中外观相同的菜单不是内存中的相同对象,并且彼此不知道。

我只想要一个具有中心内容的窗口,该窗口会根据您在左侧单击的内容而变化。解决这个问题的方法是让面板就这样——面板——而不是像我目前正在做的那样单独的表格。但这在组织上会变得混乱,因为所有面板的代码都必须在一个庞大的主文件中。因此,我的问题的简短形式(见上文):如何在单独的文件中编写面板,然后将其放入主表单的折叠中?

4

1 回答 1

1

听起来你想使用用户控件。为您想要的四件事中的每一个创建一个用户控件,然后将它们添加到面板中,根据按下的按钮使每一个都可见或不可见。

于 2011-08-08T23:06:54.437 回答