Detect when two keys are pressed at the same time

后端 未结 4 1159
北海茫月
北海茫月 2020-12-10 07:18

I have no idea how do this.

I know only how do detect one key:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys         


        
4条回答
  •  暖寄归人
    2020-12-10 08:07

    As you can see, you can use a timer event with boolean's to detect if two keys are pressed.

        bool keyup = false;
        bool keyleft = false;
    
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Up)
            {
                keyup = true;
            }
            else if (e.KeyCode == Keys.Left)
            {
                keyleft = true;
            }
        }
    
        private void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Up)
            {
                keyup = false;
            }
            else if (e.KeyCode == Keys.Left)
            {
                keyleft = false;
            }
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Start();
        }
    
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (keyleft && keyup)
            {
                Console.Beep(234, 589);
            }
        }
    

提交回复
热议问题