.net - 检测按钮是否被按住
问题描述
我在winform中有一个按钮,如果我按下它,我会调用
Sub DoSomtheing();
我希望程序继续调用该子直到按钮被释放。我尝试了 click 事件和MouseDown
,但他们只触发了一次。
最好的方法是什么?
解决方案
使用计时器是我认为最好的方法:ss
Sub DoSomething()
i = i + 1
Label1.Text = Str(i)
End Sub
然后在一个定时器中,我们可以调用这个方法:
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
DoSomething()
End Sub
我们可以使用此按钮鼠标向上和鼠标向下功能启用或禁用计时器:
Private Sub Button1_MouseUp(sender As Object, e As MouseEventArgs) Handles Button1.MouseUp
Timer1.Stop()
End Sub
Private Sub Button1_MouseDown(sender As Object, e As MouseEventArgs) Handles Button1.MouseDown
Timer1.Start()
End Sub
您可以更改计时器间隔以更改速度。
推荐阅读
- serialization - 如何将 JsonApiSerializerSettings 和 JsonOutputFormatter 转换为 .Net Core 3.0
- javascript - 下拉追加表单提交两次
- java - 在 IBM Domino 应用程序中使用 Quartz 调度程序
- java - 如何通过路径为圆设置动画?扑
- python - 如何在 Windows 的后台持续运行 Python 脚本?
- javascript - 碰撞后如何保持玩家位置?
- laravel - 为 foreach() 提供的参数无效(查看:xxx\resources\views\admin\info-admin.blade.php)http://127.0.0.1:8000/tambah-info
- c - C中的并行编程不执行指令
- javascript - JavaScript:滚动和获取项目位置触发错误
- firebase - 我无法将 Firebase Crashlytics CocoaPods 添加到我的 Xcode 项目中