首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

随意移动图片解决思路

2013-10-21 
随意移动图片我用鼠标移动图片,用IMAGE控件。但是移动的时候,必须移动到现在的IMAGE控件的区域外。因为鼠标

随意移动图片
我用鼠标移动图片,用IMAGE控件。
但是移动的时候,必须移动到现在的IMAGE控件的区域外。因为鼠标在IMAGE控件上,此时返回不了鼠标这点的坐标。
请问如何来实现呢。
想用鼠标进行随意拖动。
[解决办法]
Mouse_Up 之后,查找与当前 Image 的 .Left 和 .Top 属性值最接近且差小于 Image 的 .Width/2 或 .Height/2 的其他 Image 控件的相应属性值,赋给当前 Image 控件的相应属性。
[解决办法]

还有一种方式,就是“网格”对齐。当然,这个网格是不可见的。

比如,你将网格定义为纵横间距均为 10 倍像素或你为 Form 定义的其他 Scale 单位。每当你拖放后,都向最近的网格对齐。具体到上述的例子,Left 或 Top 值个位小于 5 的舍弃个位,大于 5 的加 5 后舍弃个位。
[解决办法]



你的窗口布局以及你究竟是怎样个操作法,或者源码不放出来,我们怎么知道如何去解决。
老是把别人当神仙一样的看待。
随意移动图片解决思路
[解决办法]
想要有对齐功能,就需要一个磁吸效果。

简单来说就是判断一下当前的X与Y哪个是在一定像素值以内(例如5像素),是则自动将当前移动的目标的X或Y与要对齐的目标修正到对齐的值。

不过最好还要增加一个ALT键检测,以便在按下ALT键时禁用磁吸效果,因为有时两个对象靠得足够近时并不一定都是要对齐。

热点排行