C# 鼠标向下移动
怎么了C# 鼠标向下移动,c#,mouse,C#,Mouse,怎么了 private void pictureBox1_MouseUp(object sender, MouseEventArgs e) { position_x = e.Location.X; position_y = e.Location.Y; } private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { int positi
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
position_x = e.Location.X;
position_y = e.Location.Y;
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
int position_x_next = e.Location.X;
int position_y_next = e.Location.Y;
if (position_x_next < position_x)
{
MessageBox.Show("it moved left");
}
}
private void pictureBox1\u MouseUp(对象发送器,MouseEventArgs e)
{
位置x=e.Location.x;
位置y=e.Location.y;
}
私有void pictureBox1\u MouseDown(对象发送方,MouseEventArgs e)
{
int position_x_next=e.Location.x;
int position_y_next=e.Location.y;
if(位置x下一步<位置x)
{
MessageBox.Show(“它向左移动”);
}
}
您应该每次都检查按钮,查看按钮何时按下并捕获X和Y坐标-如果X坐标小于上次,您可以判断它正在向左移动。您需要跟踪鼠标的上一个位置和新位置
创建两个新变量,mouseIsDown
和previousMouseX
在MouseDown
处理程序中,将mouseIsDown
设置为true
和previousMouseX
设置为mouse.x
并在MouseUp
处理程序中将其设置为false
然后,添加一个
MouseMove
处理程序,检查previousMouseX
是否大于mouse.x
。如果是这样,鼠标将向左移动。请务必在此处更新previousMouseX
。实际上它非常简单。存储上次移动事件中的位置(位于e
参数中)。然后将当前位置与上一个位置进行比较。如果它的X坐标在左边,它就会向左移动
例如,如果要区分向左移动和斜向左向上移动,则应添加一个条件,以检查Y轴的变化是否小到足以解释用户的不精确性。俗气的方法:
在鼠标按下事件IsMouseDown=true中设置一个标志。
在鼠标移动事件中,检查IsMouseDown==true
在MouseUp set IsMouseDown=true中鼠标移动事件和传递X和Y坐标如何