2012-10-05 29 views
5

Yani kontrol edebilecek kadar kolay: Ben birine bu iki fonksiyonu bir arada nasıl gidebilirizTespit CTRL

 DataGridView.KeyDown += keyPressedHandler; 

merak ediyorum? Bir kullanıcı denetimi kadarıyla, bu olaylar için eylem işleyicileri beni durumunu elde etmek için izin vermez iki eşsiz, bağımsız fonksiyonları ve cellClickedHandler geçirilen parametrelerdir anlarım gibi bir hücreyi tıkladığı Belirli bir eylemi gerçekleştirmek istiyoruz klavyenin ve fare tıklatmasıyla bağlantılı olarak ateşlenebilecek herhangi bir tuşa basılması.

+1

[Benzer bir soru] yanıtı (http://stackoverflow.com/a/515118/292067) size yardımcı olmalıdır. – jswolf19

+0

Control sınıfının bile var olduğunu bilmiyordum, teşekkürler! Bu görsel C# şeyini bir defada bir şey alıyorum. Çok fazla Google araştırması yapıyorum ve soruma benzer bir şekilde bir soruyu sormaktan başka bir şey çıkmıyor. Bu yüzden, umarım insanlar artık kendilerini bu soruya cevap verebilirler. Teşekkürler! yolu kod ctrl + shift yazılı + tıklama, ctrl + alt + tıklatın ve ctrl + shift + alt + tıklama kaydetmez olmamızdır – anon58192932

cevap

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

teşekkürler. İstediğiniz davranış olabilir veya olmayabilir.^_^ – anon58192932

+1

dikkatli olun sağ kod doğru beni işaret için @ jswolf19 için – jswolf19

+0

Usulüne dikkat edin, teşekkürler! – anon58192932