c# 如何按住一个控件时 让他随鼠标的移动方向移动
2个回答
2013-07-19
展开全部
大多WinForm控件都有MouseMove,MouseDown,MouseUp.
你可以就利用控件的这三个事件来实现鼠标拖动某个控件.
如:
1.新建一窗体.
2.在窗体画一个button控件.
3.在button控件的MouseMove,MouseDown,MouseUp三事件方法里分别写下这样的代码:
bool _isPressed=false;
Point _position=new Point(0,0);
private void button_MouseMove(object sender,EventArgs e)
{
if(_isPressed)
{
_position.X=e.X;
_position.Y=e.Y;
this.button.Location=_position;
}
}
private void button_MouseDown(object sender,EventArgs e)
{
_isPressed=true;
}
private void button_MouseUp(object sender,EventArgs e)
{
_isPressed=false;
}
在这里写代码可能会写错部分代码.
不过这是一种比较普通用法的思路.
希望对你有用.
你可以就利用控件的这三个事件来实现鼠标拖动某个控件.
如:
1.新建一窗体.
2.在窗体画一个button控件.
3.在button控件的MouseMove,MouseDown,MouseUp三事件方法里分别写下这样的代码:
bool _isPressed=false;
Point _position=new Point(0,0);
private void button_MouseMove(object sender,EventArgs e)
{
if(_isPressed)
{
_position.X=e.X;
_position.Y=e.Y;
this.button.Location=_position;
}
}
private void button_MouseDown(object sender,EventArgs e)
{
_isPressed=true;
}
private void button_MouseUp(object sender,EventArgs e)
{
_isPressed=false;
}
在这里写代码可能会写错部分代码.
不过这是一种比较普通用法的思路.
希望对你有用.
2013-07-19
展开全部
控件的mousedown事件里设定一个标记变量。再在窗体的mousemoving事件中设定控件的位置,控件的position ,鼠标位置 在e.x e.y里获得。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询