WinForm中的界面实现如下效果:
红色区域应该怎么实现呢?我用的Lable 和textbox,可是当窗口最大话后,这些控件还是原来的大小,我用 Anchor 和Dock 设置也不行?求解?

解决方案 »

  1.   

    用Anchor是可以的设置Left和right就可以了,,当窗体最大化后,textbox会拉长的
      

  2.   

    外面的GroupBox你设了吗????
      

  3.   

    设置了,这样的容器控件的Dock属性都设置成了,Anchor属性都没有设置,在这个里面是多个Lable和textbox 对Dock 属性没办法设置。设置Anchor属性的话,将top left ,bottom,right都设置上了。长度上可变,但是宽的上的变化就出现覆盖等问题了。
      

  4.   

    哦,就是用C#做出如截图所示的界面,1.不清楚用的是什么控件,我用的lable和textbox 2.当窗口改变时,这些label和textbox 还是原来的大小,想要实现随窗口大小改变。对lable和textbox 设置 anchor 和lable属性还是不行?
      

  5.   

    GroupBox  的 DOCK 设成 bottom然后在GroupBox加个tablelayout,设成4行2列,列1固定... 在单元格中放置控件
      

  6.   

    外面的groupbox的anchor设成left,right,bottom, 然后label的anchor设成left,bottom, textbox的anchor设成left,right,bottom就可以了。
      

  7.   

    用TableLayoutPanel在GroupBox内部进行布局 里面放各种小控件 直接Dock设置成fill试试
      

  8.   

    按照你说的你的groupbox如果只设成bottom的话,其中的那些小空间只是相对于groupbox的anchor吧。你的groupbox可以设置anchor为bottom、left、right。至于中间的控件,设置成left、right就可以了啊,宽度上面如果设置的话好像不太容易。如果需要你可以在Form.Resize()中重新布局一下。
      

  9.   

    这个问题解决了:整体放在一个Groupbox中,然后再这个Groupbox中放置两个Groupbox,(一个放置lable,一个放置textbox)一个dock 设置为left,一个fill, 在left groupbox中放置lable,所有lable除最后一个外 dock设置为top,最后一个设置为fill,textbox的设置和lable相同。