C# ListView如何在列头和内容绑定不同菜单
2011-02-18 18:10
316 查看
图一:
图二:
图三:
工具栏拖一个ContextMenuStrip控件,设置4项,后2项(打开,删除)隐藏Visible=false
4个菜单项分别命名为aaa,bbb,ccc,ddd
利用MouseDown事件,在鼠标单击列头时是不触发MouseDown事件的,这个正好可以利用
当单击的不是列头的时候,就不触发Opening事件
图二:
图三:
工具栏拖一个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; } }
相关文章推荐
- C# ListView如何在列头和内容绑定不同菜单
- 如何在TabControl中响应右键鼠标(添加一个ContextMenu就可以了),如何让在tab标签处右键菜单和在内容处右键菜单显示不同的菜单?
- GridView使用技巧之:如何在RowCommand里获取模板列里绑定的内容?
- PHP主机如何实现绑定多个域名,每个域名可以指向不同的页面,相当于域名绑定子目录功能。
- WPF备忘录(3)如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter
- AngularJS中如何绑定html内容
- 急急急,请大家帮忙看看如何在三点菜单中实现不同Activity的跳转
- 如何实现一个IIS服务器绑定两个国际域名(一个IP绑定多个不同域名)
- 1个POST表单里面有两个submit分别提交不同的内容,后天如何区分呢?(jung)
- 在导航栏里,点击节点,触发页面刷新,重新读取数据库,并重新进行控件内容绑定,速度很慢,如何解决
- 在研究论文中如何整理不同部分的内容
- Android分享中,如何过滤指定的应用,并且对不同的分享方式发送不同的内容?
- GridView使用技巧之:如何在RowCommand里获取模板列里绑定的内容?
- Win7系统如何自定义“开始”菜单内容?DIY“开始”菜单图文教程
- Repeater 绑定数据如何根据数据列的内容排序
- MOSS 2010:Visual Studio 2010开发体验(31)——如何给列表绑定多个内容类型
- IOS-如何干掉UITextField的长按手势菜单与输入内容限制
- MOSS 2010:Visual Studio 2010开发体验(31)——如何给列表绑定多个内容类型
- python logging模块如何把不同内容定向到不同的输出
- Excel2013如何将阶梯分布在不同列的内容靠拢到一列里面