平时在做winform程序 时候,在做选项、设置之类的界面时,拿QQ的系统设置来说
左边是选项,右面是各个选项的panel...
记得我以前是这样实现的:
选项是用ListBox实现,而右边的各个选项的panel是继承一个usercontrol,
当选中一个选项时,就将该选项的usercontrol设置可见,其他隐藏。我觉得自己继承usercontrol有好处,比较好设计。不过我也见过不写usercontrl的,直接拖几个panel上去,在panel上拖上具体控件(按钮,文本框之类的)
在把几个panel拖到右边层叠起来。
如果要更改其中的一个panel里面的控件是就麻烦了,必须一个一个的拖出来。大家对这个怎么看,或者有什么好的控件或想法,可以讨论一下。

解决方案 »

  1.   

    我以前的写法和你说的一样,一坨panel直接摞上去,想编辑那个就拖出来做,做好了放回去,确实非常麻烦。
    现在界面插件很多,DevExpress、DotnetBar,也许某个插件本身就设定了一个panel和一个按键或是其他控件的绑定,所以编辑起来会方便很多。
    我用DotnetBar,做office2007风格的界面应该不会有你这种问题了,因为他是按钮和panel映射的~
      

  2.   

    @zml_cnnk:
    免费吗?dll有多大? 是不是一大堆的控件都在一个dll里?
      

  3.   

    右边也可以设置为窗体子类,然后根据左边Show<T>(),这样每次只需要打开一个界面,而不是把所有的子窗体new出来,然后设置显示或隐藏
      

  4.   

    @dongxinxi:
    窗体子类?什么意思?
      

  5.   

    左边TreeView控件,右边用XtraTabControl去掉标头即可我用过,效果非常的好。右边是DevExpress三方控件
      

  6.   

    晕,怎么都没有说到点子上啊。
    这个要用到反射,动态加载 Form.
    就是当你点击一个按钮以后,动态加载表单到右侧。
    不用一堆控件,然后再隐藏容器。