把各个panel平铺,分别往上边放置控件,然后再叠起来。
运行时可以将某个panel放到前边

解决方案 »

  1.   

    通过panel1.Controls.Add()或者panel1.Controls.AddRange()来在panel中加控件。
      

  2.   

    例如:
    Button myButton=new Button();
    myButton.Text="test";
    panel1.Controls.Add(myButton);
      

  3.   

    如果有多个panel,你可以先将其他的panel隐藏,在需要的时候在显出来
      

  4.   

    1通过drag&drop可以把control访到panel中,如果成功,移动panel,其上的control会一起移动的;
    2可以利用panel的visible属性,将不需要显示的panel隐藏.
      

  5.   

    我有点头绪了~
    不过,照一楼的所说,我要把panel作成fill的,哪有空间去“平辅”设计啊?
    照Knight94所言,是否能在设计时搞定?而不是用代码形式添加?
      

  6.   

    设计时候搞定,太麻烦了!我做wizard的时候,经常采用:BringToFront这个技巧,呵呵。
    你的代码里面也可以这么使用,这样,你的dock设置为fill的时候,如果需要修改其它panel,你就right click上面的panel,bringtoback就可以了。
      

  7.   

    可以一个panel设计好了,控件安置好了后
    再放下一个panel.
      

  8.   

    当然可以在设计中搞定,你添加完窗体后,看看InitializeComponent中,是否相应的控件是否属于相应的panel,如果不是的话,panel的Controls.Add()或者Controls.AddRange()方法来建立所属关系,显示的时候,只要修改panel的Visible属性就能达到你的效果。
      

  9.   

    有一个很呆但是也很有效的方法
    先不要把panel Fill,
    1.加Panel1,其中加入其他控件,在其Location中填入-1000,0;
    2.加Panel2,其中加入其他控件,在其Location中填入-1000,0;
    3....
    属性窗选择Panel1,其Location中填入0,0;
    属性窗选择Panel2,其Location中填入0,0;
    ...OK,绝对不会搞错,哈哈~