vb 在一定范围内移动控件

来源:百度知道 编辑:UC知道 时间:2024/06/05 17:41:24
觉得Vscrollbar有点难看(不要推荐用**控件,谢谢!),就用了几个picturebox来替代.以pic来作为拖动条为例.我用了如下方法:
在Pic_mousemove下
if CanMove=true then'在mousedown下使CanMove=true
if pic.top>=100 then'想使pic.top不低于100
pic.top=pic.top+Y-OldY'移动pic,OldY为mousedown下记录的Y值
else
pic.top=100
Canmove=false
end if
end if

我的问题:
1.这种方法拖得慢行,但是要拖得快,pic会瞬间TOP<100,然后再TOP=100,不像Vscrollbar那样始终不会出两头.
2.当pic已经到边了,再想拖回来就必须松开鼠标再来一次mousemove才能拖动(因当pic.top=100时,我令Canmove=false).

不知我讲得是不是清楚,可能是移动方式或控制不出范围的语句不好, 麻烦高手们指点指点.
在网上看了几种方法不是太理想,麻烦调试好了在回,在此谢谢了!
补充:if pic.top>=100 应为if pic.top+Y-OldY>=100

给个提示,希望能有些用,,,你控制鼠标,不让它越位就可以了~~

我以前回答过一个相似的问题 就是让控件跟这鼠标移动 不知对你有用没
http://zhidao.baidu.com/question/60142324.html

在移动的时候用API锁住鼠标移动范围i