在WinForm开发下,TreeView控件中Click事件的问题:
  我的TreeView控件里有如下的几个结点(注:C下面是TreeView控件空白区_):
    A 
    B  
    C
当我点C以上的地方(包括C和C以上的空白区)时,会引发Click事件。
反之如果点C以下的地方(包括C以下的空白区)时,则不会引发Click事件。
不知道大家有没有遇到这样的问题?有哪位大侠知道如何使Click事件在点TreeView控件里任何地方都被引发?

解决方案 »

  1.   

    TreeNode tr = this.treeView1.GetNodeAt(e.X,e.Y);
    if(tr!=null)
    {
    this.treeView1.SelectedNode =tr;
    }
    else
    {
    if(this.treeView1.Nodes.Count>0)
    {
    this.treeView1.SelectedNode =this.treeView1.Nodes[this.treeView1.Nodes.Count-1];
    }
    }
      

  2.   

    private void treeView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    TreeNode tr = this.treeView1.GetNodeAt(e.X,e.Y);
    if(tr!=null)
    {
    this.treeView1.SelectedNode =tr;
    }
    else
    {
    if(this.treeView1.Nodes.Count>0)
    {
    this.treeView1.SelectedNode =this.treeView1.Nodes[this.treeView1.Nodes.Count-1];
    }
    }
    }