2012-02-26 8 views
12

मैं विज़ुअल सी # में माइन्सवीपर प्रकार का गेम बनाने की कोशिश कर रहा हूं और जब मैं राइट क्लिक करता हूं और बायाँ क्लिक करता हूं तो मैं अलग-अलग चीजें करना चाहता हूं, मैं यह कैसे कर सकता हूं?विजुअल सी # फॉर्म राइट क्लिक बटन

मैं इस कोड की कोशिश की है लेकिन यह केवल बाईं क्लिक दर्ज:

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

आपके पास पहले से ही सही उत्तर है, इसलिए इसे फिर से लिखने की आवश्यकता नहीं है। मैंने कुछ हफ्ते पहले अपना खुद का माइन्सवीपर लिखा था और एक [SO सवाल] (http://stackoverflow.com/questions/8485779/capture-simultaneous-right-and-left-click-event-triggers-on-label) से पूछा था कि आपकी मदद कर सकता है यह है कि "इसके आस-पास के सभी कवर किए गए बक्से का अनावरण करने के लिए एक ही समय में दोनों माउस बटनों को क्लिक करें" फ़ंक्शन। यदि आप पहले से ही यह जानते हैं कि यह कैसे करें, तो बस मुझे अनदेखा करें :) –

+0

कूल, यह आसानी से – SpencerJL

उत्तर

8

आप Click घटना के बजाय MouseUp या MouseDown घटना उपयोग करने के लिए राइट क्लिक पर कब्जा करना होगा।

+0

में आ सकता है यह भी जांचें कि 'eventArgs.button == MouseButtons.Right' –

1

button1_MouseClick ईवेंट के बजाय बस button1_MouseDown ईवेंट के साथ प्रयास करें। यह आपकी समस्या का समाधान करेगा।

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

बटन MouseButtons.LeftMouseButton.Right के लिए नहीं है और मध्य के लिए भी के लिए केवल प्रतिक्रिया कर रहा है।

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(); 
} 
संबंधित मुद्दे