关于为多个单击事件添加同一个函数的问题
本帖最后由 huoshan12345 于 2014-03-13 01:09:02 编辑
其实标题我不太会说,我具体描述一下
我有一个窗口,里面有个tabcontrol,每一页里都有一个listview
我给listview加了一个右键菜单(里面有一个复制)
下面是相关函数
private void ShowRightButtonContextMenu(MouseEventArgs e, ListView LV)
{
if (e.Button == MouseButtons.Right && LV.ContextMenuStrip != null)
{
if (LV.SelectedIndices.Count > 0)
{
LV.ContextMenuStrip.Show(this, e.Location);
}
else
{
LV.ContextMenuStrip.Hide();
}
}
}
private void listView_Script_MouseClick(object sender, MouseEventArgs e)
{
ShowRightButtonContextMenu(e, listView_Script);
}
问题:private void listView_Script_MouseClick这个函数只能添加给一个特定的listView的单击事件
现在我有很多个listView,右键菜单是一样的,不想为每一个listView分别写一个单击事件的函数
概括一下就是说,很多个listView共用一个单击事件的函数,并且这个函数是需要listView的具体信息的
(也就是针对不同的listView可以进行不同的处理)
我想应该有一劳永逸的方法吧,求大神们解答
------解决方案--------------------可以指向同一个方法,可以动态 +=绑定,也可以静态在设计环境设计好
------解决方案--------------------不太听懂。。
不知道自定义控件对你有帮助吗?
------解决方案--------------------object sender就是触发Click的那个ListView,ListView ctl = (ListView)sender就可以得到了