我已经编写了一个小型媒体播放器应用程序,效果很好。
我什至已经管理了一个屏幕上的遥控器(显然只是一个带有按钮的窗体,看起来像一个虚拟遥控器),是的,我还集成了一个Arduino以能够使用真正的遥控器,但是忘记了Arduino遥控器暂时的控制我的问题是关于我要构建的虚拟遥控器。
对按钮进行编程非常基础:这是我们在Vb.net中学习的第一件事,但这只是在单击场景中。
如果我看一个真正的电视遥控器,则可以单击(最常使用音量按钮)调高或调低音量,而响应是调高或调低音量一个单位,或者可以按住相同的按钮它会重复执行几次向上或向下更改单位的过程,具体取决于我再次释放按钮的时间。
我将如何实现?
我曾尝试使用谷歌搜索,但搜索结果返回的所有内容都涉及一个物理鼠标按钮,该按钮与我需要的按钮控件相对应。
答案 0 :(得分:1)
一个提供上/下旋转按钮功能的UserControl示例。
它使用两个标准按钮,一个标签和一个计时器。
要进行设置,请将新的UserControl添加到项目中:
Color.Transparent
U+25B2
和U+25BC
)用于显示箭头。根据需要设置按钮的字体大小和颜色(示例UC使用Segoe UI
作为字体)。
Interval
值设置为300
。该值表示按住鼠标按钮或键盘键时增量的初始速度。每当计时器计时时,它都会递减,直到达到由UC的 Speed
公共属性(内部限制为(1:10)范围)定义的阈值。 Min
和 Max
公共属性Value
公共属性获取或设置当前增量。 按下鼠标按钮或键盘键时计时器启动,释放时停止计时器。引发 Timer.Tick
事件时, Timer.Interval
会减少25ms
直到最大 Speed
值。由于初始值设置为 300ms
,最大值Speed
限于 10
,因此最小间隔值为{{ 1}},接近于50ms
官方决议。
如果更改了这些值,则需要考虑最小间隔,以避免重叠的System.Windows.Form.Timer
事件。
它是这样工作的:
Tick