2013-03-10 45 views
5

我正在C#中創建一個簡單的球和槳程序,並使用鼠標單擊來移動槳。爲了註冊鼠標點擊,我有這個更快的MouseClick響應?

private void Form1_MouseClick(object sender, MouseEventArgs e) 
    { 
     if (e.Button == MouseButtons.Right) 
     { 
      paddle.movePaddleRight(); 
      this.Invalidate(); 
     } 
     if (e.Button == MouseButtons.Left) 
     { 
      paddle.movePaddleLeft(); 
      this.Invalidate(); 
     } 
    } 

問題是它沒有註冊快速連續的點擊。點擊一次後,註冊下一次點擊大約需要半秒鐘(所有點擊都會丟失)。有沒有辦法讓我按照每次點擊移動槳並註冊每次點擊?

回答

6

快速點擊會產生MouseDoubleClick事件。改用MouseDown事件。

+0

雖然是一個非常古老的問題,它被一些答案碰撞。所以我已經提高了效率,我想補充一點,在Windows中單擊鼠標意味着「按下鼠標按鈕並釋放它,而不會脫離控件」,這對於遊戲來說不是理想的(您希望當遊戲你按下鼠標按鈕,而不是當你釋放它時),這只是使用'MouseDown'而不是'MouseClick'的另一個理由。 – Jcl 2016-09-15 11:34:29