2012-10-05 14 views
5

にDataGridViewのセルのためにクリックして検出だから、セルがでクリックされたかどうかを確認するために十分に簡単です:は、CTRL +は、同じイベントハンドラ

 DataGridView.KeyDown += keyPressedHandler; 

私はこれら2つの機能をどのように組み合わせることができますか?ユーザーコントロールがセルをクリックしたときに特定のアクションを実行したいと思いますが、これらのイベントのアクションハンドラーは2つの固有の独立した関数であり、cellClickedHandlerに渡されるパラメーターでは状態を取得できませんマウスのクリックと連動して発射される可能性のあるキーの押下などがあります。

+1

[類似の質問への回答](http://stackoverflow.com/a/515118/292067)が役立ちます。 – jswolf19

+0

Controlクラスが存在していても、感謝していませんでした。私はこの視覚的なC#のものを一度に1つのものにしています。私は多くの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

@ jswolf19のおかげで右のコードに向いています – anon58192932

+1

コードを書いたやり方がCtrl + Shift +クリック、Ctrl + Alt +クリック、Ctrl + Shift + Alt +クリックは登録されないので注意してください。これはあなたが望むふるまいかもしれません^ _^ – jswolf19

+0

Dulyは感謝しました! – anon58192932

関連する問題