问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何控制VB标签在窗口中来回移动

发布网友 发布时间:2023-11-24 06:20

我来回答

1个回答

热心网友 时间:2024-11-08 19:46

基本上是在你原有基础上做的加工,但避免了窗口缩小时,标签可能看不见的情况,也对标签和窗体边沿之间出现空白的情况做了处理
'在窗体内添加一个label控件,一个command控件,和一个timer控件
dim
zt
as
integer,
flag
as
boolean
private
sub
command1_click()
timer1.enabled
=
not
timer1.enabled
end
sub
private
sub
form_activate()
timer1.interval
=
100
'计时器时间间隔设定
timer1.enabled=true
label1.appearance
=
0
label1.left
=
0
label1.top
=
0
me.caption
=
me.width
&
"_"
&
me.height
zt
=
0
end
sub
private
sub
form_paint()
me.caption
=
me.width
&
"_"
&
me.height
end
sub
private
sub
form_resize()
'保证窗口改变时,仍然能沿着窗口边缘移动
select
case
zt
case
3
label1.left
=
0
case
0
label1.top
=
0
case
1
label1.left
=
me.scalewidth
-
label1.width
case
2
label1.top
=
me.scaleheight
-
label1.height
case
else
label1.left
=
0
label1.top
=
0
end
select
end
sub
'zt=0,1,2,3时,分别表示上沿,右侧,下沿,左侧
private
sub
timer1_timer()
foot
=
100'循环步长设定
a
=
me.scalewidth
b
=
me.scaleheight
x
=
label1.width
/
2
y
=
label1.height
/
2
if
flag
=
true
then
'顺时针
if
zt
=
0
then
label1.left
=
label1.left
+
foot
label1.top
=
0
if
label1.left
>
a
-
2
*
x
-
foot
then
zt
=
1
elseif
zt
=
1
then
label1.top
=
label1.top
+
foot
label1.left
=
a
-
2
*
x
if
label1.top
>
b
-
2
*
y
-
foot
then
zt
=
2
elseif
zt
=
2
then
label1.left
=
label1.left
-
foot
label1.top
=
b
-
2
*
y
if
label1.left
<
foot
then
zt
=
3
elseif
zt
=
3
then
label1.top
=
label1.top
-
foot
label1.left
=
0
if
label1.top
<
foot
then
flag
=
false
end
if
else
'逆时针
if
zt
=
3
then
label1.top
=
label1.top
+
foot
label1.left
=
0
if
label1.top
>
b
-
2
*
y
-
foot
then
zt
=
2
elseif
zt
=
2
then
label1.left
=
label1.left
+
foot
label1.top
=
b
-
2
*
y
if
label1.left
>
a
-
2
*
x
-
foot
then
zt
=
1
elseif
zt
=
1
then
label1.top
=
label1.top
-
foot
label1.left
=
a
-
2
*
x
if
label1.top
<
foot
then
zt
=
0
elseif
zt
=
0
then
label1.left
=
label1.left
-
foot
label1.top
=
0
if
label1.left
<
foot
then
flag
=
true
end
if
end
if
end
sub
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么是诸葛亮 卧龙,凤雏,冢虎,幼麟得一可安天下,为啥刘备失败? 潮州老式粿汁的做法 求一篇六百字作文。题目大概是:找一个话题跟父母展开一次朋友式的... 老师让以某个话题,给父母进行一次朋友式的书信往来, 急急急!! 与父母进行一次朋友式的通信。 我该怎样和室友相处呢,我们宿舍很糟糕,很差? 京东商城我的用户上有钱怎么用用户上的钱买东西啊 我在我朋友那个京东账户里有钱可他没实名怎么可以用那些钱来买... 上海市护士延续注册怎么办理 我需要2万块钱,有没有可以贷款的 excel 2003里如何实现 列号+n(n是另一个单元格的值) solidworks中打包怎么把不要的装配也打进来了 求狂野飙车8安卓版破解版,附带安装和使用教程的!! ...天见面就给我买奶茶过几面就约我去吃饭他喜不喜欢我啊? 为什么狂野飙车8破解版安装好再次进去就要重新下载?4 一个手机两个卡,第一个卡申请过一个,第二个卡怎么申请? 大连新职工的住房公积金缴存比例仍按单位25%、个人15%执行...3 2016辽宁大连住房公积金企业交多少3 大连 住房公积金缴存比例30 《原神》柔灯铃采集路线推荐 什么是肠源性内毒素血症? ...奶茶,给我订过外卖,过几天请我吃饭他是不是喜欢我呀? 从刘集镇到扬州甘泉樱花园有公交车吗? 男主角叫萧然女主角叫路宁是哪个言情小说2 ...没有签转正合同,当时实习合同没有给我一份也没有 支付宝可以转2万块钱吗 如何保存solidworks文件,文件最小 ...请问一下大家在手机上预约挂号成功后,去医院取号需要用到手机吗? 在氯化钠晶体中,与每个钠离子等距离且最近的几个氯离子围成的空...1 在档位上可以刹车吗 会议日程表安排的基本要求包括哪些2 火箭vs猛龙最后比分?数据? 明天火箭VS猛龙 请大家预测一下比分吧18 禾可以加什么偏旁成为什么字再组词语48 vb中,举个例子,a和&quot;a&quot;有什么区别,什么时候用&quot;&quot;,什么时候不用(回答 我网贷还清征信报告上有2笔没有显示对我买房贷款 北京版趣科技发展有限公司怎么样 空调一般每提高1度可以节省多少电啊?51 两个可以关联吗?微信有远程监控吗 王者荣耀怎么换别人的登录? 我是学服装设计的,毕业一直在做服装方面的,现在想应聘个平面设计工作... VB中,当拖动MDIForm1主窗口右边的框时,图标“A”的位置能随着拖动而变... 一个手机两个卡,第一个卡申请过一个,第二个卡怎么申请? 新怎么加好友啊。 ...号,第一个怎么找一个手机注册两个,第一个怎么找? 一只手机号注册了两个,想要注销一个怎么注销? 小学生喝酒对吗18 鸿桥大厦交通方便吗?应该怎么过去? 一个手机两张卡,有一个卡已经申请完,想在同一个手机的另一个卡 ...