2015-12-28 18 views
1

我知道這個問題被問了很多次,但我還沒有找到正確的答案爲我的問題。C#2D遊戲多個鍵不起作用

我的問題是我有一個WinForm,我喜歡按多個鍵來做一些xD,但如果我嘗試按numpad7,8和4或任何其他組合 那麼它不會工作它只顯示沒有,但我已經按這一切的關鍵

我已經嘗試了本

private void GameScreen_KeyDown(object sender, KeyEventArgs e) { 
     try { 
      switch (e.KeyCode) { 
       case Keys.NumPad0: 
        Console.WriteLine(e.KeyData); 
        changeButtonsColor(); 
        break; 
       case Keys.NumPad1: 
        gb_7.BackColor = Color.MediumSpringGreen; 
        Console.WriteLine(e.KeyData); 
        break; 
       case Keys.NumPad2: 
        gb_8.BackColor = Color.MediumSpringGreen; 
        Console.WriteLine(e.KeyData); 
        break; 
       case Keys.NumPad3: 
        gb_9.BackColor = Color.MediumSpringGreen; 
        Console.WriteLine(e.KeyData); 
        break; 
       case Keys.NumPad4: 
        gb_4.BackColor = Color.MediumSpringGreen; 
        Console.WriteLine(e.KeyData); 
        break; 
       case Keys.NumPad5: 
        gb_5.BackColor = Color.MediumSpringGreen; 
        Console.WriteLine(e.KeyData); 
        break; 
       case Keys.NumPad6: 
        gb_6.BackColor = Color.MediumSpringGreen; 
        Console.WriteLine(e.KeyData); 
        break; 
       case Keys.NumPad7: 
        gb_1.BackColor = Color.MediumSpringGreen; 
        Console.WriteLine(e.KeyData); 
        break; 
       case Keys.NumPad8: 
        gb_2.BackColor = Color.MediumSpringGreen; 
        Console.WriteLine(e.KeyData); 
        break; 
       case Keys.NumPad9: 
        gb_3.BackColor = Color.MediumSpringGreen; 
        Console.WriteLine(e.KeyData); 
        break; 
      } 
     } catch (Exception) { 
      Console.WriteLine("fail"); 
     } 
    } 

請幫我...

+0

首先要測試的是這是否是鍵盤「重影」的症狀,這是鍵盤僅設置爲一次註冊一定數量/組合鍵的問題。 [這裏是一個頁面](https://www.microsoft.com/appliedsciences/antighostingexplained.mspx)解釋這個問題,它還包括一個測試你的鍵盤重影問題的好工具(在頁面頂部)。如果您能夠同時看到該工具中註冊的所有密鑰,那麼這是一個軟件問題,但最好先測試您的硬件 –

回答

0

這不能固定。由於鍵盤的工作原理,您可以同時按2鍵,但一旦開始按3鍵,只有某些組合會起作用。您無法修改編碼來解決此問題,除非您更改您正在按的鍵。