如何捕捉Microsoft.Web.UI.WebControls.TreeView的鼠标单击事件?尤其是对叶子节点的鼠标事件,
我想在鼠标点击treeview的叶子节点的时候做一些事情,小弟刚学web,请各位大哥指教,多谢!
声明:我在treeview的SelectedIndexChange事件中写了一个过程,想实现鼠标单击叶子节点的要实现的功能,可是好像怎么操作也不会触发SelectedIndexChange事件,debug捕获不到,请各位帮忙哦

解决方案 »

  1.   

    应该有mouse_click事件,我记得还有nodemouse_click事件亚
    nodemouse_click事件中e.Node,就是单击的Node
      

  2.   

    楼上的大哥,我用的是dotnet 2003,Microsoft.Web.UI.WebControls.TreeView没有你所说的mouse_click或nodemouse_click,你说的事件在System.Windows.Forms.TreeView中有,可是在web下没有啊,郁闷,
    多谢关注
      

  3.   

    很少用它自带的TreeView,
    有很多js的都很好用,自带的效率不高,尤其遇到较低配置的服务器时
      

  4.   

    你可以先看看这个http://www.meizz.com/Web/Web.asp
      

  5.   

    用SelectedIndexChange()这个,设置AUTOPOSTBACK为TRUE。
    用Microsoft.Web.UI.WebControls.TreeNode node = 树.GetNodeFromIndex(e.Node);
    去获得node
      

  6.   

    一个例子,希望能帮到你:/// <summary>
    /// 节点的选中
    /// </summary>
    /// <param name="sender">TreeView对象</param>
    /// <param name="e">TreeViewClickEventArgs事件的对象</param>
    private void tvRight_Check(object sender, Microsoft.Web.UI.WebControls.TreeViewClickEventArgs e)
    {
    TreeNode tn = ((Microsoft.Web.UI.WebControls.TreeView)sender).GetNodeFromIndex(e.Node);
    if(tn.Checked )
    {
    ChickParentNode(tn);
    ChickChildNode(tn);
    }
    }/// <summary>
    /// 子主节点的选中
    /// </summary>
    /// <param name="treeNode">TreeNode的对象</param>
    private void ChickParentNode(Microsoft.Web.UI.WebControls.TreeNode treeNode)
    {
    if(treeNode.Parent.GetType() == treeNode.GetType())
    {
    ((Microsoft.Web.UI.WebControls.TreeNode)treeNode.Parent).Checked=true;
    ChickParentNode(((Microsoft.Web.UI.WebControls.TreeNode)treeNode.Parent));
    }
    }//子节点的选中
    private void ChickChildNode(Microsoft.Web.UI.WebControls.TreeNode treeNode)
    {
    foreach(Microsoft.Web.UI.WebControls.TreeNode tNode in treeNode.Nodes)
    {
    tNode.Checked=true;
    ChickChildNode(tNode);
    }
    }
      

  7.   

    多谢楼上的关注
    小弟是菜鸟,刚学web,这是偶的第一个web项目,不会用ajax,也不懂js,现在学习肯定来不及了,谁还有更简单的方法吗?或者能给出更详细的代码,多谢了
    zhoulin777(天晴) 的提示AUTOPOSTBACK为TRUE确实是捕捉到事件了,可是屏幕会闪动啊,怎么解决啊
      

  8.   

    先把树的树的属性的AutoPostBack设置为true,在事件里面双击selectindexchange,再在.cs里添加事件代码。private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
    {
    //单击树节点弹出alert,你也可替换为其他事件的代码
    Page.RegisterStartupScript("onclick","<script>window.alert('鸟树');</script>");

    }