2013-04-02 25 views
0

我有几个带有最小值和最大值的计数变量。当我按下相应的按钮时,计数器上升或下降。在WinForms应用程序中取消MouseDown事件

当按下lmb和计数器超过例如100(最大值)它不会自然停止计数。

有没有办法检查我的计数器并强制鼠标事件的结束而不用手动观察呢?

private void button_RunXPositive_MouseDown(object sender, MouseEventArgs e) 
{ 
    if (X < 100) { 
     StartInMode(0, true); // a motor 
     ((Button_Triangle)sender).BackColor = ((Button_Triangle)sender).EdgeColor; 
     return; 
    } 
    else { 
     ((Button_Triangle)sender).BackColor = Color.Black; 
     this.MotorStop((UInt32)0); 
    } 
} 

回答

0

如果你的项目是一个WPF项目,那么你可以在你的事件处理程序中这样写:如果您使用Windows窗体这样你就可以做到这一点

if(counter < min || counter > max) 
{ 
    e.Handled = true; 
} 
//your code 

编辑

private void Form1_MouseDown(object sender, MouseEventArgs e) 
{ 
    if(counter < min || counter > max) 
    { 
     return; 
    } 

    //your code 
} 
+1

我使用的是WindowForm并已经实现了你的第二个技巧,但它并没有阻止我计数器,只要我一直按下它,它就很重要,并且不关心边界。 –

+0

@Hossein Narimani Rad仍然不能正常工作,我在第一篇文章中添加了一些代码。可能是那里的错误? –

相关问题