VB中move方法的问题

hongqiaomin 2009-09-17 07:36:53
请问会VB的高手。
我在VB中使用MOVE方法改变控件的大小。和:
我用控件height , width属性调整大小。这两种方式哪个速度更快?或者说更好?
...全文
1453 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
king06 2009-09-18
  • 打赏
  • 举报
回复
基本上差别不大,哪个方便用哪个。。。
hongqiaomin 2009-09-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 tiger_zhao 的回复:]
Move 稍快。
因为影响性能的不是更改大小的调用本身,而是控件 Resize 引起的计算和重绘。
Move 只会 Resize 一次;修改 Width、Height 会 Resize 两次,第一次是多余的。
[/Quote]

有道理哦。
m60a1 2009-09-18
  • 打赏
  • 举报
回复
MOVE快
clear_zero 2009-09-18
  • 打赏
  • 举报
回复
我来学习了
zm03173225 2009-09-18
  • 打赏
  • 举报
回复
分析的好
Tiger_Zhao 2009-09-18
  • 打赏
  • 举报
回复
Move 稍快。
因为影响性能的不是更改大小的调用本身,而是控件 Resize 引起的计算和重绘。
Move 只会 Resize 一次;修改 Width、Height 会 Resize 两次,第一次是多余的。
yachong 2009-09-17
  • 打赏
  • 举报
回复
move更快
觉得快慢无所谓的时候才用Height/width属性直接改变大小
chinaboyzyq 2009-09-17
  • 打赏
  • 举报
回复

Private Sub Command2_Click()
Me.Move Me.Left, Me.Top, 50000, 10000
t = Timer
For i = 1 To 200
Me.Width = 50000
Me.Height = 10000
Me.Width = 25000
Me.Height = 5000
DoEvents
Next
Text1 = Timer - t

Me.Move Me.Left, Me.Top, 50000, 10000
t = Timer
For i = 1 To 200
Me.Move Me.Left, Me.Top, 50000, 10000
Me.Move Me.Left, Me.Top, 25000, 5000
DoEvents
Next
Text2 = Timer - t
End Sub
'由以上测试可以看出move稍快一点。
'其实对一次动作,你用哪个无所谓
hongqiaomin 2009-09-17
  • 打赏
  • 举报
回复
呵呵,我一直改变属性来更改控件大小,
现在发现move也可以,所以想知道哪个更快
贝隆 2009-09-17
  • 打赏
  • 举报
回复
哦!学习了。书没有读通啊:)
sonic_andy 2009-09-17
  • 打赏
  • 举报
回复
move比直接调整属性要快.

摘自MSDN

Move 方法


用以移动 MDIForm、Form 或控件。不支持命名参数。

语法

object.Move left, top, width, height

Move 方法的语法包含下列部分:

部分 描述
object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,带有焦点的窗体缺省为 object。
left 必需的。单精度值,指示 object 左边的水平坐标 (x-轴)。
top 可选的。单精度值,指示 object 顶边的垂直坐标 (y-轴)。
width 可选的。单精度值,指示 object 新的宽度。
height 可选的。单精度值,指示 object 新的高度。


说明

只有 left 参数是必须的。但是,要指定任何其它的参数,必须先指定出现在语法中该参数前面的全部参数。例如,如果不先指定 left 和 top 参数,则无法指定 width 参数。任何没有指定的尾部的参数则保持不变。

对于 Frame 控件中的窗体和控件,坐标系统总是用缇 。移动屏幕上的窗体或移动 Frame 中的控件总是相对于左上角的原点 (0,0)。移动 Form 对象或 PictureBox 中的控件(或 MDIForm 对象中的 MDI 子窗体)时,则使用该容器对象的坐标系统。坐标系统或度量单位是在设计时 用 ScaleMode 属性设置。在运行时 使用 Scale 方法可以更改该坐标系统。
贝隆 2009-09-17
  • 打赏
  • 举报
回复
Move是不能改变大小的,只能改变位置。
clear_zero 2009-09-17
  • 打赏
  • 举报
回复
Move怎么改变大小?move改变的是left 和top
SYSSZ 2009-09-17
  • 打赏
  • 举报
回复
这要实测一下,在我的印象中是Move快些
hanvan 2009-09-17
  • 打赏
  • 举报
回复
API最快

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧