ListView ContextMenu 小问题 我给 ListView 指定了一个 ContextMenu, 但是,它在ListView 的任意空白区域点右键,都会弹出菜单,而我的想法是,1,必须在选中了ListView 的 Item 的时候,才弹出。2,我想在弹出的时候,设置哪些菜单项可用,哪些变灰,请高手指点! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先不要给 ListView 指定了一个 ContextMenu: private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { // 做相应"哪些菜单项可用,哪些变灰"处理 // 动态弹出 ContextMenu } 在nodemousedown 事件里判断是否是右击事件,如果是的话,在根据当前节点的属性,显示你需要的菜单以及菜单的enabled属性, 菜单显示的位置使用相对于这个控件的位置简单代码如下 if (e.Button == MouseButtons.Right) this.contextMenuStripCollector.Show(this.advTreeCollector, e.X, e.Y); 右键的时候首先判断是否有选中节点listView1.selectedItem.count 若count>0则允许弹出右键菜单 没有 NodeMouseDown事件吧? 在各位的提示下,已经搞定! private void listView2_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { if( listView2.SelectedItems.Count>0 ) //是否在节点上点击的右键 { contextMenuFile.Show( listView2.PointToScreen(e.Location)); } } } 关于更新数据的一些疑问 VS2005里面通过xsd设计时,连接不上MySQL 自定义数据绑定控件 System.Net.mail无法发送邮件,是否是服务器的安全设置所致? C++的LPCTSTR 对应C#的问题 C# 模拟鼠标 怎么实现延迟触发鼠标事件 c#中可不可以调用PB生成的DLL中的方法,要怎么调用啊? 用静态方法传值的问题 请教:我的电脑SQL没有NetSDK C#计算器程序输入问题 网页设计求一段定时切换广告图片的代码,要求广告到期后用新的图片自动替换掉过期的图片!谢谢 C/S 架构下的Server怎么实现
{
// 做相应"哪些菜单项可用,哪些变灰"处理
// 动态弹出 ContextMenu
}
简单代码如下 if (e.Button == MouseButtons.Right)
this.contextMenuStripCollector.Show(this.advTreeCollector, e.X, e.Y);
没有 NodeMouseDown事件吧?
private void listView2_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if( listView2.SelectedItems.Count>0 ) //是否在节点上点击的右键
{
contextMenuFile.Show( listView2.PointToScreen(e.Location));
}
}
}