2013-03-10 34 views
5

Tôi đang tạo một chương trình chơi bóng và gậy đơn giản trong C# và sử dụng các cú click chuột để di chuyển mái chèo. Để đăng ký nhấp chuột, tôi có điều nàyPhản hồi MouseClick nhanh hơn?

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(); 
     } 
    } 

Vấn đề là nó không đăng ký một lần nhấp chuột nhanh chóng. Sau một lần nhấp chuột, mất khoảng nửa giây để đăng ký lần nhấp tiếp theo (tất cả các lần nhấp giữa các lần nhấp đều bị mất). Có cách nào cho tôi để làm cho di chuyển mái chèo theo mỗi nhấp chuột và đăng ký mỗi nhấp chuột?

Trả lời

6

Nhấp nhanh sẽ tạo ra sự kiện MouseDoubleClick. Thay vào đó, hãy sử dụng sự kiện MouseDown.

+0

Mặc dù câu hỏi rất cũ, nó đã bị va chạm bởi một số câu trả lời. Vì vậy, tôi đã upvoted, và tôi muốn thêm rằng một nhấp chuột trong cửa sổ có nghĩa là "nhấn nút chuột và phát hành nó mà không đi ra khỏi kiểm soát", đó là không mong muốn cho một trò chơi (nơi bạn muốn hành động xảy ra khi bạn nhấn nút chuột, không phải khi bạn phát hành nó), đó chỉ là một lý do nữa để sử dụng 'MouseDown' thay vì' MouseClick' – Jcl

Các vấn đề liên quan