请问大家,我碰到这样一个问题:
   我有一个treeview控件,里边有一个名为ChangeName的节点,当点击它时,会把硬盘上的一个名为a.bmp的文件改名为b.bmp。当单击这个节点时,一切都正常,但问题是当双击它时,就会出现提示:a.bmp未找到,导致程序结束。我估计可能是因为第一击时已经把名字改掉了,从而导致找不到a.bmp,我想把节点的双击事件函数写成和单击一样的,但好像节点没有双击的事件,请问这个问题该如何解决,谢谢大家了。

解决方案 »

  1.   

    双击可以用treeview的dbclick事件
    dim Tx  as long ,Ty as long 
    sub Treeview_mousedown(........)
       Tx=x:Ty=y
    end sub 
    sub treeview_dbclick( .........)
       dim mnode as mscom???.node'呵呵,不好意思,不记得了,你在treeView_mousedown事件里看一下那个node是什么对象
       mnode=treeview.hittest(Tx,Ty)
       if mnode not is nothing  then
            if mnode.text="ChangeName" then
               on error goto NameErr  
               name "d:\a.bmp" as "d:\b.bmp"
            end if 
       end if 
    exit sub
    NameErr:
       msgbox ""
    end sub
      

  2.   

    这一句mnode=treeview.hittest(Tx,Ty)
    改为set mnode=treeview.hittest(Tx,Ty)
      

  3.   

    写在Treeview的Dblclick事件里,
    判断if treeview1.selectitem is not nothing then
           'changename
        else
           'no
        end if
      

  4.   

    楼上的直接判断selecteditem的话如果双击的是空白的地方也会响应事件的
      

  5.   

    Private Sub TreeView1_NodeClick(ByVal Node As ComctlLib.Node)
    On Error Resume Next
    If Dir("c:\a.bmp") > "" Then Name "c:\a.bmp" As "c:\b.bmp"
    End Sub
      

  6.   

    用dbclick事件不行,我试过了,在调用dbclick事件的同时,还是要调用两个nodeClick的
      

  7.   

    难道你要在nodeclick和dbclick两个事件写同样的代码??