Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在按键时执行操作_C#_Winforms - Fatal编程技术网

C# 如何在按键时执行操作

C# 如何在按键时执行操作,c#,winforms,C#,Winforms,当你按下一个键做一个动作,当你再次按下它时,在C中停止做 我想做的是:我有一个程序,用户必须按F1来激活任何动作,好吧;如果用户不按另一个键,而是按同一个键,那么在C语言中该怎么做呢?由于我当前通过执行以下操作停止操作: if (GetAsyncKeyState(Keys.F1) == -32767) { timer1.Start(); } if (GetAsyncKeyState(Keys.F2) == -32767) { timer1.Stop(); } 您可以使用Syst

当你按下一个键做一个动作,当你再次按下它时,在C中停止做

我想做的是:我有一个程序,用户必须按F1来激活任何动作,好吧;如果用户不按另一个键,而是按同一个键,那么在C语言中该怎么做呢?由于我当前通过执行以下操作停止操作:

if (GetAsyncKeyState(Keys.F1) == -32767)
{
    timer1.Start();
}
if (GetAsyncKeyState(Keys.F2) == -32767)
{
    timer1.Stop();
}
您可以使用System.Timers.Timer


您正在构建什么类型的应用程序?Console、WPF、Forms或UWP?这是一个以Form制作的应用程序。最简单的方法是在按键时进行布尔切换。我尝试过,例如,我做了以下操作:bool activado;activado=GetAsyncKeyStateKeys.F1!=0; 如果activado{tInitial.Start;}但我还没有结果..使用按钮更新你的问题。是的,我应该将我的评论作为答案发布^^^接受我的+1我有一个问题,我使用GetAsyncKeyState来执行操作,它会以同样的方式工作吗?@AurelioGálvez,是的,它应该可以工作,因为您需要管理密钥的相对整数值。其他一切都一样。这段代码正在运行。@Rafalon谢谢你,伙计:@GaurangDave非常感谢,它运行得非常好!
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if(e.KeyCode == Key.A)
    {
        if(!timer1.Enabled)
            timer1.Start();
        else
            timer1.Stop();

    }
}