フォームにボタンがあり、左クリックと右クリックの両方を処理したいと考えています。
MouseClickイベントを処理していますが、これは左クリックでのみ発生します。
これは私のコードのどこか(私が見逃した設定)または意図された機能の問題ですか?
これを修正できない場合、MouseUpイベントを処理するための最善の回避策は何ですか?
MouseClickを使用したいのは、ダブルクリックが自動的に認識されるようにするためです。
フィードバックをありがとうございます。
フォームにボタンがあり、左クリックと右クリックの両方を処理したいと考えています。
MouseClickイベントを処理していますが、これは左クリックでのみ発生します。
これは私のコードのどこか(私が見逃した設定)または意図された機能の問題ですか?
これを修正できない場合、MouseUpイベントを処理するための最善の回避策は何ですか?
MouseClickを使用したいのは、ダブルクリックが自動的に認識されるようにするためです。
フィードバックをありがとうございます。
マウスアップを使用してください!!
private void button6_MouseUp(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");
}
}
どうやらこれに対する答えは、のOnClick
右クリックイベントを処理しないということButton
です。したがって、解決策は/を使用MouseUp
しMouseDown
、マウスが手動で途中でオン/オフに移動するダブルクリック/クリックをチェックすることでした。
コードなしで答えるのは難しいですが、一般的にはうまくいくはずです。
private void Form1_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");
}
}
// EventHandler
this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseClick);
編集:ダブルクリックを認識するために使用したい MouseDoubleClick イベントがあります。左右のミューズボタンの両方で機能します。