日期:2014-05-17  浏览次数:20750 次

TreeView遇到的一个问题
我在MouseDown事件中添加代码如下
private void TreeView1_MouseDown(object sender,MouseEventArgs e)
{
  TreeNode tn=TreeView1.GetNodeAt(e.X,e.Y);
  if((tn!=NULL)&&(tn.Bounds.Contains(e.X,e.Y)))
  {
  TreeView1.SelectedNode=tn;
  }
  else
  {
  TreeView1.SelectedNode=NULL;
  }
}

这段代码主要目的是为了实现鼠标的精确点击,只有在鼠标移到TreeNode节点上的时候才被选中,执行操作(如果不这样做,在TreeNode这一行任意位置点击鼠标,都能选中该节点)。可在实验的时候出了问题,在空白位置点鼠标,左键可以正常实现(没有任何节点被选中),当右键按下的时候,先是当前行的节点被选中,右键放开后选中的背景才消失。也就是有一个闪烁的过程。请教各位大侠这是怎么一个情况?左右键的结果为什么不一样,有没有办法去掉这个闪烁的过程

------解决方案--------------------
判断 一下如果是右键,不做任何操作