winform关于控件Anchor属性使用的坑

Anchor的中文意思是锚点,顾名思义就是定位点的意思。

在winform中控件的Anchor属性是用来定位控件的位置的,应该不仅仅是在winform中,所有涉及画面布局的框架,对于Anchor的使用应该是一致的(比如Unity)。

但是在使用的时候有个特别注意的坑:

就是一旦对控件定义了Anchor属性,那么这个控件就是以当前的位置状态来相对于父容器控件的确定的。换句话说,假如你当前控件的位置并不是正确或者说是想要的位置,就设置了

Anchor属性,那么这个错误位置就会被隐形延续下去。

举个例子:

假如有一个子控件label1的size=(40,40),然后一个父容器控件panel1的size=(100,100);

在开始将label1的location=(30,40),如果此时就设置label1的Achor属性为left|top|right|bottom,那么无论怎么修改panel1的size,两者都相差当前固定的距离;

如果是故意这样做还好,但是如果无意为之,那么就容易造成没有设置却有一段无形的距离产生。

 

结论:对Anchor属性的设置,最好在布局都完成后在进行。

posted on 2021-04-14 14:58  BigBom原子  阅读(1297)  评论(0编辑  收藏  举报