怎样让控件不随分别率的变化而变化?现在的情况是:有一个“SlipContainter”控件将窗体分为了左右两部分,左侧那部分中有三个“GroupBox”控件,这三个“GroupBox”控件中分别有TreeView控件、ListBox控件、ListBox控件。
现在的问题是在这三个“GroupBox” 控件总是随着分别率的变化,而变化。分辨率低了,他们之间的间距很大,分别率高了,他们之间的间距又会变得很小,甚至盖住对方,不能显示。请问:一、这是什么原因造成的,为什么会随分辨率的变化而被拉伸或者缩小?
二、这个问题应该怎样解决?已经试过的方法,1、在slipcontainer里加入panel 2、在用Layout控件 3、将“Gropbox”控件绑定到一个边
注意:主窗口的页面的大小是“1003*755”的,而为了让窗口启动时满屏,设置了“WindowState”为“Maximized”,“StartPosition”为“CenterScreen”,是不是和这个有关系。
困惑了好久,不知道怎么处理,请教各位大侠?不甚感激?
现在的问题是在这三个“GroupBox” 控件总是随着分别率的变化,而变化。分辨率低了,他们之间的间距很大,分别率高了,他们之间的间距又会变得很小,甚至盖住对方,不能显示。请问:一、这是什么原因造成的,为什么会随分辨率的变化而被拉伸或者缩小?
二、这个问题应该怎样解决?已经试过的方法,1、在slipcontainer里加入panel 2、在用Layout控件 3、将“Gropbox”控件绑定到一个边
注意:主窗口的页面的大小是“1003*755”的,而为了让窗口启动时满屏,设置了“WindowState”为“Maximized”,“StartPosition”为“CenterScreen”,是不是和这个有关系。
困惑了好久,不知道怎么处理,请教各位大侠?不甚感激?
判断分辨率
在不同分辨率下调整控件坐标
窗体加载resize时改变坐标
如果不设置“设置了“WindowState”为“Maximized”,“StartPosition”为“CenterScreen”是不是,控件的位置就不会出现那种情况???
然后把控件放到相应的格子里(跟表格类似),也设置控件dock为fill.
自己指定控件座标也行
你确定一个控件(如你说的groupbox)的大小和布局之前,要考虑到在不同的分辨率下的外观。
比如你说的情况:3个gbox之间是垂直排列还是水平排列,或者是乱的。
控件的Anchor属性是锁定控件的边缘和所属容器的边缘的距离的,可以锁定任意的一个边(或多个边)。
如果3个gbox之间是垂直排列:把他们的Anchor设定为left就行了,不会有互相覆盖的情况。
其他情况可以自己去摸索。其实,并不是分辨率变化导致你说的现象的。而是你的winform大小变化了,而你添加的控件设定了随容器变化而变化,产生了这种情况。
你把控件的Dock属性设为None,Anchor属性设为Left&&Top,你会发现:无论怎么变分辨率,控件的位置,布局是不会发生改变的,大小(象素)也不会变的(只是看上去大小变了)。
把控件放在PANEL上并设置ANCHOR;
设置控件座标,比如BUTTON,
button.location=new point(x,y)