怎样让控件不随分别率的变化而变化?现在的情况是:有一个“SlipContainter”控件将窗体分为了左右两部分,左侧那部分中有三个“GroupBox”控件,这三个“GroupBox”控件中分别有TreeView控件、ListBox控件、ListBox控件。
现在的问题是在这三个“GroupBox” 控件总是随着分别率的变化,而变化。分辨率低了,他们之间的间距很大,分别率高了,他们之间的间距又会变得很小,甚至盖住对方,不能显示。请问:一、这是什么原因造成的,为什么会随分辨率的变化而被拉伸或者缩小?
二、这个问题应该怎样解决?已经试过的方法,1、在slipcontainer里加入panel   2、在用Layout控件   3、将“Gropbox”控件绑定到一个边 
注意:主窗口的页面的大小是“1003*755”的,而为了让窗口启动时满屏,设置了“WindowState”为“Maximized”,“StartPosition”为“CenterScreen”,是不是和这个有关系。
困惑了好久,不知道怎么处理,请教各位大侠?不甚感激?

解决方案 »

  1.   

    使用dock,设置Acchor属性
    判断分辨率   
    在不同分辨率下调整控件坐标
    窗体加载resize时改变坐标   
     
      

  2.   


    如果不设置“设置了“WindowState”为“Maximized”,“StartPosition”为“CenterScreen”是不是,控件的位置就不会出现那种情况???
      

  3.   

    整个用TableLayoutPanel控件,设置dock为fill.
    然后把控件放到相应的格子里(跟表格类似),也设置控件dock为fill.
      

  4.   

    设置 anchor 为 top left right bottom
      

  5.   

    把anchor设为none
    自己指定控件座标也行
      

  6.   

    兄弟我推荐一套第三方控件把,Dev中有个控件叫做XtraLayoutControl,好像是这个,你可以不用在设置什么Dock  Anchor属性之类的了,就可以自动布局好,而且还有其他很强大的功能,推荐给你用,我自己感觉不错
      

  7.   

    界面的显示,和显示器的分辨率是息息相关的。
    你确定一个控件(如你说的groupbox)的大小和布局之前,要考虑到在不同的分辨率下的外观。
    比如你说的情况:3个gbox之间是垂直排列还是水平排列,或者是乱的。
    控件的Anchor属性是锁定控件的边缘和所属容器的边缘的距离的,可以锁定任意的一个边(或多个边)。
    如果3个gbox之间是垂直排列:把他们的Anchor设定为left就行了,不会有互相覆盖的情况。
    其他情况可以自己去摸索。其实,并不是分辨率变化导致你说的现象的。而是你的winform大小变化了,而你添加的控件设定了随容器变化而变化,产生了这种情况。
    你把控件的Dock属性设为None,Anchor属性设为Left&&Top,你会发现:无论怎么变分辨率,控件的位置,布局是不会发生改变的,大小(象素)也不会变的(只是看上去大小变了)。
      

  8.   

    放几个panel在窗体上,设置好DOCK;
    把控件放在PANEL上并设置ANCHOR;
    设置控件座标,比如BUTTON,
    button.location=new point(x,y)