VBA开发应用时,经常用到ActiveX控件,比如按钮、文本框、下拉框等等。但是相信很多朋友会有一个困扰,那就是,可能本来界面设计得好好的,美观简洁。但是随着使用,控件的尺寸有的变大了,有的变小了,控件的位置也变乱了,有的移到左边,有的移到右边。整个界面非常难看。
其实,在所有的ActiveX控件里,都有一个很重要的但是很容易被人忽视的属性Placement,这个属性的值,就决定着这个控件的位置或尺寸是否会随着单元格改变。
下面是作者对这个属性的值的总结,
Placement属性值 | 含义 |
1 |
|
2 |
|
3 | 控件的位置,宽度和高度保持不变 |
找到了这个神奇的属性之后,咱们就可以根据需要来设置这个属性了。缺省的情况下,控件的Replacement属性初值为2,就是位置会改变,但是大小不会变。
绝大部分情况下,程序设计者希望保持控件的位置和大小都不变,所以你知道应该怎么做了吧?把placement属性改为3,这样就基本能满足您的要求了。具体操作,如图1所示,在控件上点击右键,选择属性,然后修改Placement值就可以了。
为什么我上面只说基本满足要求了呢?还有一种特殊情况,就是你设计程序时如果显示分辨率是高分辨率,到了低分辨率的屏幕上使用时,还是会出现一点小的问题。比如原来紧挨着的两个控件,中间会出现一点空格。
这种情况我也是研究了好久,至今没找到特别简洁的方法来解决。目前的唯一解决方案是,每次Worksheet激活时,重设一下各个控件的Top,Height,Left,Width属性。