Splitter的确只能显示在边缘。
一般的用法是:
添加第一个控件,设置Dock属性为Left,
添加Splitter,Dock Left,
添加第二个控件,Dock Left或Center。
水平的时候只要改变Dock属性为Top或Bottom就行了。

解决方案 »

  1.   

    echevil(Echevil)说的对,添加顺序很有关系,如果你在自动生成的代码中
    观察一下不同添加顺序产生的差别,其实相差很小的。
      

  2.   

    我在delphi有几中方法
    一个split加是两个panel,
    还有就是三个panel
      

  3.   

    须将panel 和 split 同时使用,
      

  4.   

    各位兄弟,这个问题我也曾经碰到过,不过我最终搞清楚了原因
    的确在设计的时候与顺序有关,但这是现象
    本质是你用代码按顺序控制:
    假设Form(或Panel)上有三个控件:treeView1,splitter1,dataGrid1
    正确设置个控件的Dock属性分别是Left,Left,Fill
    ...
    treeview1.BringToFront();
    dataGrid1.BringToFront();
    splitter1.BrintToFront();
    //OK
    ...Delphi中的BringToFront没什么用,因为它的IDE机制不同;最近很气愤,总是碰到解决了问题却舍不得给分的
    但是作为一个中国程序员,我不想那样
    我的原则是分不在多,有朋就行,但朋友是讲信任的...
      

  5.   

    或者你们在VS.NET 的IDE中选择控件右击“置于顶层”“置于底层”菜单,使用就能随心所欲控制了
      

  6.   

    To:Pengmg你放心好了,只要是我的问题,如果解决了,一定给分,我的结贴率在90%以上,而且不管什么问题,必给百分。大概明白了怎么回事,但还有问题,我左边的,除了一个treeview控件外,还有个picturebox控件,如果都将两个DOCK设为LEFT的话,它会占满左边整列的,怎样处理?
    我现在是要左边使用一个分割控件,使左右可以调整大小。左列的中间还得一个分割条,可以调整上下位置,类似于ACDSEE的界面,可以怎样做呢?
      

  7.   

    搞定了,使用panel装起来就行了。多谢各位,散分。