2011-09-20 18 views
6

アイテムを右クリックすると、リストボックスにコンテキストメニューを追加しようとしています。WinForms ListBox右クリック

右クリック機能が適切に機能しているかどうかはわかりません。ここで

はコードです:

private void lstSource_MouseDown(object sender, MouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
     Console.WriteLine("Right Click"); 
    } 
} 

何もコンソールに出力しません。何か不足していますか?

ありがとうございました。

+0

アプリケーションにコンソールがありますか?おそらく代わりにMessageBoxを表示しようとしますか? – AndrewC

答えて

10

あなたがイベントを配線(とListBoxコントロールが有効になっている)ことを確認してください:

private void Form1_Load(object sender, EventArgs e) 
{ 
    listBox1.MouseDown += new MouseEventHandler(listBox1_MouseDown); 
} 

void listBox1_MouseDown(object sender, MouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
    MessageBox.Show("Right Click"); 
    } 
} 

あなたはまた、MouseDownイベントでのListBoxとダブルクリックを選択することによって、あなたのためのイベントをデザイナーのワイヤーを持つことができます[プロパティ]ウィンドウ(稲妻をクリック)で設定します。

+0

パーフェクト。ありがとうございました! – gberg927

2

Console.WriteLine()メソッドはGUI上に何も表示されません。 MessageBox.Show("Right Click");

private void lstSource_MouseDown(object sender, MouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
     MessageBox.Show("Right Click"); 
    } 
} 

EDITを使用してください:ハンドラがMouseDownイベントかどうかが取り付けられていることを確認してください。

+0

私はあなたの修正を試みましたが、私はまだ何も起こりません。 – gberg927

関連する問題