2011-09-20 67 views
6

我想添加一个上下文菜单到列表框中,当你右键点击一个项目。WinForms列表框右键点击

我甚至不确定如果右键单击功能正常工作。

下面是代码:

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

不打印到控制台。我错过了什么吗?

谢谢。

+0

您的应用程序是否有控制台?也许尝试显示一个MessageBox呢? – AndrewC

回答

10

确保您连线的事件了(和列表框启用):

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事件列表框并双击在属性窗口中(点击闪电)。

+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"); 
    } 
} 

编辑:确保附加处理程序与MouseDown事件与否。

+0

我试过你的改正,我什么也没有发生。 – gberg927