通常会遇到多个控件调用一个菜单,在菜单代码内可以判断其调用控件,代码如下。
当在多个ListBox中绑定同一个右键菜单时,可通过以下方法判断是哪一个ListBox触发的
//找出哪个Listbox调用的此菜单
ToolStripMenuItem mi = (ToolStripMenuItem)sender;
ContextMenuStrip ms = (ContextMenuStrip)mi.GetCurrentParent();
ListBox tb = (ListBox)ms.SourceControl;
// MessageBox.Show(tb.Name);
// MessageBox.Show(sender.ToString());
//删除LISTBOX中所有选中项
object[] selected_objs = new object[tb.SelectedItems.Count];
tb.SelectedItems.CopyTo(selected_objs, 0);
foreach (object oval in selected_objs) { tb.Items.Remove(oval); }