我试了一整天,并查找了各种想法......没有真正的帮助。 当我按下一个按钮时,比如“JOG”,它会连续移动 CNC 机床轴,只要按下按钮,然后松开,它就会停止。
为了测试这一点,我使用了一个“图片/LED”,当我按住它时,它应该亮起……当我松开时,它应该关闭。
Pressed Button should = only while pressed, do something。 释放同一个按钮 = 停止做您现在正在做的任何事情。
我敢肯定,对于你们这些高级人士来说,这可能是 101...但对我来说...它正在吃我的午餐...有帮助吗?
最佳答案
您可以使用 MouseDown
和 MouseUp
事件。当点击 MouseDown
事件时,调用一个循环执行您的操作的方法。点击 MouseUp
后,停止循环。
private bool _run = false;
public void button_MouseDown(object sender, EventArgs e)
{
_run = true;
MyAction();
}
public void button_MouseUp(object sender, EventArgs e)
{
_run = false;
}
public void MyAction()
{
while(_run)
{
//You actions
}
}
请注意,上面的示例会占用 UI 线程。您应该使用 BackgroundWorker
或类似的东西在另一个线程上运行它。
关于c# - 只要我按下按钮,我怎样才能制作一个winform按钮 "do something"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21147052/