您的位置:首页 > 编程语言 > C#

C# ListView如何在列头和内容绑定不同菜单

2014-01-24 10:52 218 查看
图一:



图二:



图三:



工具栏拖一个ContextMenuStrip控件,设置4项,后2项(打开,删除)隐藏Visible=false

4个菜单项分别命名为aaa,bbb,ccc,ddd

利用MouseDown事件,在鼠标单击列头时是不触发MouseDown事件的,这个正好可以利用

当单击的不是列头的时候,就不触发Opening事件

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

bool mark = false;  //标记
private void listView1_MouseDown(object sender, MouseEventArgs e)
{
//ListViewItem item = listView1.GetItemAt(e.X, e.Y);  //可以利用这个 当选中某一项时 菜单又不一样
aaa.Visible = false;
bbb.Visible = false;
ccc.Visible = true;
ddd.Visible = true;
mark = true;
}

private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
if (!mark)
{
aaa.Visible = true;
bbb.Visible = true;
ccc.Visible = false;
ddd.Visible = false;
}
mark = false;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐