注册 登录
编程论坛 VB6论坛

Top属性的问题

chen3bing 发布于 2019-05-20 11:33, 2218 次点击
只有本站会员才能查看附件,请 登录

我写了个界面,如下图:
只有本站会员才能查看附件,请 登录

为了适应各种分辨率,我运行软件读取系统分辨率,然后对每种分辨率都对
界面做了重新布局。
其他分辨率都搞好了,只差800*600.
在800*600分辨率下,左边界面如第一个图。
试验人和下面的速度中间隔着老大一截。
试验人标签的代码如下:
 Label5.Top = 1300
    Label5.FontSize = 8
    Text4.Top = 1280
    Text4.Left = 1600
    Text4.Height = 250
    Text4.FontSize = 8
速度标签代码如下:
Label6.Top = 1600
    Label6.FontSize = 8
    Combo1.Top = 1580
    Combo1.Left = 1600
    Combo1.FontSize = 8
我发现无论怎么修改label6的top属性,label6的垂直位置
都不变。感到很奇怪。
请高手指教,谢谢!
7 回复
#2
chen3bing2019-05-20 15:32
只有本站会员才能查看附件,请 登录

是不是800*600的分辨率太低了,低于1024*768
#3
wufuzhang2019-05-20 16:01
回复 楼主 chen3bing
你可以试着把“试验人”标签的背景色改成别的颜色(与窗体背景不一样),
“速度”标签的背景色也改成不一样的颜色,看一下他们各自到底占了哪些地方。


或者,你添加一个按钮,里面加上下面这段代码:
Private Sub Command1_Click()
    Label6.Move Label6.Left, Label6.Top - 200
End Sub
看点击按钮的时候,Label6标签是否会移动。
#4
chen3bing2019-05-20 16:18
只有本站会员才能查看附件,请 登录

各自占得位置是这样的。
加了按钮,点击按钮,label6标签会动。
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

看,是这个效果。
我还是不明白。
#5
wufuzhang2019-05-20 16:50
回复 4楼 chen3bing
“速度”标签可以被移动,说明你加载程序的时候,设置标签位置参数的代码有问题(我不知道你是在什么事件中设置的)。
你这样,把你设置标签位置参数的代码,放到Form_Activate过程的最后面,也就是在窗体激活的时候修改他们的位置。
#6
chen3bing2019-05-20 16:53
我在form load事件中写的
#7
chen3bing2019-05-20 17:00
回复 5楼 wufuzhang
谢谢!好像好了,不过我不懂。为什么呢?
前面几个都好好的,位置可以调,为什么后面不行呢?
#8
风吹过b2019-05-21 08:28
form load事件 这个事件响应时,窗体的大小是设计时的大小,

如果窗体是最大化的,那么最大化的代码在 form load事件 中写
但移动控件位置和修改大小的操作,应该在  Form_Resize 事件中写了。

form load,当窗体被加载时触发
Form_Resize ,当窗体大小发生改变时触发。
Form_Activate ,当窗体被激活时触发
1