当您右键单击某个项目时,我正在尝试将上下文菜单添加到列表框中。
我甚至不确定右键单击功能是否正常工作。
以下是代码:
private void lstSource_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
Console.WriteLine("Right Click");
}
}
没有任何内容打印到控制台。我错过了什么吗?
感谢。
答案 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
事件。