2012-10-05 7 views
5

तो यह काफी आसान जांच करने के लिए अगर एक सेल के साथ क्लिक किया गया है:का पता लगाने के लिए CTRL + एक ही ईवेंट हैंडलर में DataGridView सेल के लिए क्लिक करें

 DataGridView.CellClicked += cellClickedHandler; 

और यह अगर एक कुंजी के साथ दबाया गया है की जाँच करने के लिए पर्याप्त आसान है:

 DataGridView.KeyDown += keyPressedHandler; 

मुझे आश्चर्य है कि मैं उन दोनों कार्यों को एक साथ कैसे जोड़ सकता हूं? जब कोई उपयोगकर्ता नियंत्रण किसी सेल पर क्लिक करता है और जहां तक ​​मैं कह सकता हूं, तो मैं एक विशिष्ट कार्रवाई करना चाहता हूं, इन घटनाओं के लिए एक्शन हैंडलर दो अद्वितीय, स्वतंत्र कार्य हैं और सेलक्लेड हैंडलर को पारित पैरामीटर मुझे राज्य प्राप्त करने की अनुमति नहीं देते हैं कीबोर्ड और किसी भी कुंजी प्रेस जो माउस क्लिक के साथ संयोजन में फायरिंग हो सकती है।

+1

[इसी तरह के प्रश्न] का जवाब [http://stackoverflow.com/a/515118/292067) आपकी मदद करनी चाहिए। – jswolf19

+0

मुझे नहीं पता था कि नियंत्रण वर्ग भी अस्तित्व में था, धन्यवाद! मैं इस दृश्य सी # सामान को एक समय में एक चीज़ ले रहा हूं। मैं बहुत सारी Google खोज कर रहा हूं और मेरे प्रश्न के नाम पर एक प्रश्न के साथ कुछ भी नहीं आया है, इसलिए उम्मीद है कि लोग स्वयं को इसके जवाब में निर्देशित कर सकते हैं। धन्यवाद! – anon58192932

उत्तर

5
private void cellClicked(object sender, DataGridViewCellMouseEventArgs e) 
    { 
     if(e.Button == MouseButtons.Right) // right click 
     { 
      if (Control.ModifierKeys == Keys.Control) 
       System.Diagnostics.Debug.Print("CTRL + Right click!"); 
      else 
       System.Diagnostics.Debug.Print("Right click!"); 
     } 
     if (e.Button == MouseButtons.Left) // left click 
     { 
      if (Control.ModifierKeys == Keys.Control) 
       System.Diagnostics.Debug.Print("CTRL + Left click!"); 
      else 
       System.Diagnostics.Debug.Print("Left click!"); 
     } 
    } 
+0

मुझे सही कोड – anon58192932

+1

की ओर इशारा करने के लिए @ jswolf19 के लिए धन्यवाद, सावधान रहें, क्योंकि जिस तरह से आपने कोड लिखा है ctrl + shift + क्लिक करें, ctrl + alt + क्लिक करें, और ctrl + shift + alt + क्लिक पंजीकृत नहीं होगा। यह आपके इच्छित व्यवहार हो सकता है या नहीं भी हो सकता है^_^ – jswolf19

+0

विधिवत ध्यान दिया, धन्यवाद! – anon58192932

संबंधित मुद्दे