2012-02-26 39 views
12

Tôi đang cố gắng tạo ra một loại trò chơi quét mìn trong hình ảnh C# và tôi muốn có những thứ khác nhau xảy ra khi tôi nhấp chuột phải và nhấp chuột trái vào một nút, làm cách nào để làm điều này?Visual C# Form nút bấm phải

Tôi đã thử mã này, nhưng nó chỉ đăng ký nhấp chuột trái:

private void button1_MouseClick(object sender, MouseEventArgs e) 
    { 
     if (e.Button == System.Windows.Forms.MouseButtons.Left) 
     { 
      MessageBox.Show("Left"); 
     } 
     if (e.Button == System.Windows.Forms.MouseButtons.Right) 
     { 
      MessageBox.Show("Right"); 
     } 

    } 
+0

Bạn đã có câu trả lời đúng, vì vậy không cần phải viết lại câu trả lời đó. Tôi đã viết tàu quét mìn của riêng mình cách đây vài tuần và hỏi [SO câu hỏi] (http://stackoverflow.com/questions/8485779/capture-simultaneous-right-and-left-click-event-triggers-on-label) có thể giúp bạn. Đó là làm thế nào để tạo ra "bấm vào cả hai nút chuột cùng một lúc trên một số để công bố tất cả các hộp bao phủ xung quanh nó" chức năng. Nếu bạn đã biết làm thế nào để làm điều này, chỉ cần bỏ qua tôi :) –

+0

Cool, có thể có ích – SpencerJL

Trả lời

8

Bạn sẽ phải sử dụng MouseUp hoặc MouseDown sự kiện thay vì sự kiện Click để chụp click chuột phải.

+0

Cũng kiểm tra xem 'eventArgs.button == MouseButtons.Right' –

1

Chỉ cần thử với sự kiện button1_MouseDown thay vì button1_MouseClick Sự kiện.Nó sẽ giải quyết được sự cố của bạn.

private void button1_MouseDown(object sender, MouseEventArgs e) 
    { 
     if (e.Button == MouseButtons.Left) 
     { 
      //do something 
     } 
     if (e.Button == MouseButtons.Right) 
     { 
      //do something 
     } 
    } 
0

Nút chỉ là phản ứng đối với MouseButtons.Left không cho MouseButton.Right và thậm chí không cho trung gian.

void Select(object sender, MouseEventArgs e) 
{ 
    /* var btn = sender as CardButton;*/ 

    if (e.Button == MouseButtons.Left) 
    { 
     if (this.Selected == false) 
     { 
      this.Selected = true; 
     } 
     else 
     { 
      this.Selected = false; 
     } 
    } 
    if (e.Button == MouseButtons.Right) 
    { 
     if (this.Selected == false) 
     { 
      this.Selected = true; 
     } 
     else 
     { 
      this.Selected = false; 
     } 
    } 

    Draw(); 
} 
Các vấn đề liên quan