使用重叠面板创建选项菜单

时间:2010-04-15 16:56:40

标签: c# .net visual-studio winforms

我正在尝试在C#表单项目中创建一个选项菜单,我很好奇是否有一种不那么难看的方法。我有一个具有不同类别选项的ListBox,当您选择一个类别时,该类别的选项将显示在右侧的面板中。基本上,与Visual Studio本身的选项菜单相同。

显然,不同的控件必须在这里使用相同的不动产,因为每个类别都有不同的选项需要在我的表单的同一区域中显示。因此,当您选择一个类别时,每个其他类别的控件都必须隐藏。

我目前正在为每个类别使用不同的Panel对象(当前为13个),但是设计每个面板是一个令人头疼的问题,因为每次我需要更改一个面板时我需要将其他12个面板拖出来。有一个更好的方法吗?我对任何建议持开放态度,无论是对实现的完全改变,还是仅仅是一个Visual Studio技巧,用于处理所有重叠的13个面板中的1个。

如果所有其他方法都失败了,我可以使用水平渲染的TabControl,但我不喜欢它的外观。

提前致谢。

3 个答案:

答案 0 :(得分:1)

我可以想到三种替代方法:

  1. (确定)使用不显示用户标题的选项卡控件。
  2. (更好)为每个选项页面创建用户控件,因此每个选项页面都有不同的设计器文件。
  3. (更好吗?)根据一些描述性信息动态生成UI,因此根本没有设计师文件可以处理。

答案 1 :(得分:1)

看一下UserControl课程。您可以使用Forms Designer进行设计,而不是在选择项目时以编程方式将其放在ListBox的右侧。为您拥有的每个选项类别创建不同的UserControl

答案 2 :(得分:1)

首先,您应该知道何时处于设计模式,属性窗口(View-> Prpoerties菜单)中有一个下拉菜单,允许您选择控件。因此,您不需要将其他控件移开。

其次,我会为每个类别创建自己的用户或自定义控件的选项面板。这样您就可以单独编辑面板本身。然后,您可以选择在选择类别时显示/隐藏该自定义控件,甚至可以动态创建控件。

相关问题