gpt4 book ai didi

C# 如何在按住鼠标按钮时循环

转载 作者:可可西里 更新时间:2023-11-01 07:49:02 27 4
gpt4 key购买 nike

你能给我指出正确的方向吗?我试图在按下表单按钮时触发一个循环。

//pseudocode
While (button1 is pressed)
value1 += 1

然后当然会在释放按钮时停止循环

最佳答案

为避免使用线程,您可以添加 Timer在您的表单/控件上添加组件,只需在鼠标按下时启用它并在鼠标抬起时禁用它。然后将通常放在循环中的代码放入 Timer_Tick 事件中。如果您想使用 System.Timers.Timer,您可以改用 Timer.Elapsed 事件。

示例(使用 System.Timers.Timer):

using Timer = System.Timers.Timer;
using System.Timers;
using System.Windows.Forms;//WinForms example
private static Timer loopTimer;
private Button formButton;
public YourForm()
{
//loop timer
loopTimer = new Timer();
loopTimer.Interval = 500;/interval in milliseconds
loopTimer.Enabled = false;
loopTimer.Elapsed += loopTimerEvent;
loopTimer.AutoReset = true;
//form button
formButton.MouseDown += mouseDownEvent;
formButton.MouseUp += mouseUpEvent;
}
private static void loopTimerEvent(Object source, ElapsedEventArgs e)
{
//this does whatever you want to happen while clicking on the button
}
private static void mouseDownEvent(object sender, MouseEventArgs e)
{
loopTimer.Enabled = true;
}
private static void mouseUpEvent(object sender, MouseEventArgs e)
{
loopTimer.Enabled = false;
}

关于C# 如何在按住鼠标按钮时循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4127270/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com