您的位置:首页 > 其它

关于右键菜单 不好用的一个解决方案

2010-03-31 16:54 211 查看
这是我之前遇到的一个问题

给treelist加了一个右键菜单,具体事件写在了mouseClick里面了,

可是左键点击可以出发这个事件,右键点击不能触发这个事件,就直接导致右键菜单的处理操作没办法执行,后来看了下里面的代码,大概是什么变空了,右键触发被直接过滤掉,

解决方案:使用事件mousedown来实现右键菜单的相关改变操作就可以了,这个不会因为那个值为null而被过滤掉,

不过一定要注意以下几个地方

边界的判断

/// <summary>
/// 鼠标按下事件
/// </summary>
private void treeDepartment_MouseDown(object sender, MouseEventArgs e)
{
TreeListHitInfo hitInfo = this.CalcHitInfo(e.Location);
this.FocusedNode = hitInfo.Node;
if(hitInfo.HitInfoType==HitInfoType.Cell ||hitInfo .HitInfoType ==HitInfoType .SelectImage)
}

HitInfoType中还有很多属性,想了解的话,可以自己看下哈

左右键的判断

mouseButtons.left==e.buttons
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐