SpliterContainer中默认只有两个panel,能不能往里面多添加几个Panel,我知道可以往一个panel里面嵌套一个SpliterContainer来实现,但是有没有办法在使用一个SpliterContainer的情况下添加pannel?

解决方案 »

  1.   

    SpliterContainer 是有两个panel组成的,一样可以用panel.Controls.Add(Control)的操作
      

  2.   


    意思就是说SpliterContainer只能有两个Panel,要想多要Panel只能嵌套SpliterContainer是吗?
      

  3.   

    为什么我会有这样的需求呢?
    是因为我将一个SpliterContainer嵌在另一个SpliterContainer里面后,发现里面那个SpliterContainer的SpliterWidth无论设多大,里面那个SpliterContainer中间的分割线宽度都不会改变,我用的VS2010的WINFORM项目,不知道大家有没有出现这个问题???
      

  4.   

    在splitContainer中加panel
    或者用splitter
      

  5.   

    经测试和对比,发现应该是VS2010在Form1.Designer.cs文件中自动为splitContainer生成的代码有问题,VS2010重多了下面两行
    ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
    ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
    这两行代码在VS2008中是没有的,这也是为什么在VS2008中不存在SpliterContainer嵌套后SpliterWidth失效的问题,可能是VS2010自动生成的这两行代码中有BUG。去掉这两行代码嵌套在里面的SpliterContainer的SpliterWidth就起作用了。