WinForms ListBox右键单击

时间:2011-09-20 15:27:18

标签: c# winforms listbox contextmenu right-click

当您右键单击某个项目时,我正在尝试将上下文菜单添加到列表框中。

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

以下是代码:

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

没有任何内容打印到控制台。我错过了什么吗?

感谢。

2 个答案:

答案 0 :(得分:11)

确保将事件连接起来(并且启用了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");
  }
}

您也可以让设计师为您选择事件,方法是选择ListBox并双击Properties窗口中的MouseDown事件(点击闪电)。

答案 1 :(得分: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事件。