窗口移动,二维指定对象移动,等各种移动方法的思路

1.移动分为三个步奏,鼠标按下,鼠标移动,鼠标抬起.
2.鼠标按下可以理解为发送一个信号,表示,我要移动啦,然后拿一个全局变量记录鼠标位置点.当然也需要一个全局变量去记住我要移动这个信号.
3.鼠标移动,用移动过后的位置减去移动前位置,获取到变化量,然后将变化量加上,你要移动的对象上,对象就会随着鼠标动了.但是一定要记住,要将移动后新的鼠标位置赋值给全局变量的那个鼠标位置坐标,不然,就会出现计算错乱.
4鼠标抬起,代表移动结束.将全局要移动信号关闭.

public bool IsMove=false;
public Point FirstPT { get; set; }
public void mousedown(Point mousePT)
{
	FirstPT =mousePT;
	IsMove=true;
}
public void mousemove(Point mousePT)
{
	if(IsMove&&FirstPT !=null)
	{
		var x=mousePT.X-FirstPT.X;
		var y=mousePT.Y-FirstPT.Y;
		//移动对象的x,y坐标加上计算出x,y坐标
		FirstPT =mousePT;//赋值,不能少
	}
}
public void mouseup(Point mousePT)
{
	IsMove=false;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值