这是我之前遇到的一个问题
给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