0
我有3个列表框和MouseDown事件我希望他们显示相同的上下文菜单,但项目会在每个不同的列表框单击不同。例如:列表框使用相同的上下文菜单与不同的项目,在列表框中单击事件
- contextMenu when clicked on :listBox1
* should show: {Edit,Add Items}
- contextMenu when clicked on :listBox2
* should show: {Remove, Add Price}
- contextMenu when clicked on :listBox3
* should show: {something, Remove}
以下是我使用listBox1中的代码:
private void MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
listBx_1.SelectedIndex = listBx_1.IndexFromPoint(e.Location);
if (listBx_1.SelectedIndex != -1)
{
listboxContextMenu_Opening();
}
}
}
private void listboxContextMenu_Opening()
{
listboxContextMenu.Items.Clear();
listboxContextMenu.Items.Add("Edit");
listboxContextMenu.Items.Add("Add Items");
}
现在我想使用MouseDown事件被添加listBox2和listBox3上下文菜单(所有三个列表框相同的菜单)项目 ,我怎么能做到这一点?建议欢迎!
为什么他们都需要是相同的菜单?你显然有三个不同的菜单,所以给每个ListBox自己的自定义菜单是有道理的。 –
好吧,让我们考虑我现在有三个不同的contextMenu,如果我想要相同的MouseDown事件(定义如上)在三个不同的列表框点击调用。那么应该如何在MouseDown事件中更改我的代码? – Sadiq
您只需创建三个单独的MouseDown事件处理程序,并为每个ListBox分配一个 –