以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于目录树节点标题AfterEditNode事件触发  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47362)

--  作者:jswalley
--  发布时间:2014/3/8 22:33:00
--  关于目录树节点标题AfterEditNode事件触发
目录树节点我新增加了一个节点,标题缺省为一个固定,然后在AfterEditNode事件中判断标题,但如果对我这个缺省的标题不进行任何修改,直接按回车,就不会触发AfterEditNode事件,事实上就算是缺省的标题名,我也需要进行判断,这个怎么实现?
--  作者:有点酸
--  发布时间:2014/3/9 23:39:00
--  

不修改,肯定就不会触发。

 

同样的代码在增加节点的按钮中写一下吧。


--  作者:jswalley
--  发布时间:2014/3/11 23:47:00
--  
增加节点的按钮,增加节点的代码就是先增加了一个目录树节点,这个时候用户还没有输入。然后在AfterNodeEdit中根据用户输入的做判断,现在是用户不修改,直接按回车,我在哪个事件中判断用户是输入了一个新的节点名还是没有修改,这个我要进行判断。
[此贴子已经被作者于2014-3-11 23:48:35编辑过]

--  作者:狐狸爸爸
--  发布时间:2014/3/12 8:20:00
--  

直接在增加节点的按钮:

 

增加按钮的代码

根据默认标题进行处理的代码,类似AfterNodeEdit事件


--  作者:jswalley
--  发布时间:2014/3/12 9:45:00
--  
我增加节点的按钮Click事件的代码如下:

Dim newnd As WinForm.TreeNode
newnd = pnd.Nodes.Add(CStr(nNodeID),"新文件夹","AddrCloseFolder_16.ico")
tr.SelectedNode = newnd
tr.BeginEdit

这个时候是增加了缺省节点名 “新文件夹”。 输入焦点移到目录树的这个新增加的节点,等着用户输入,这个时候用户不输入,直接按回车,还怎么在 增加节点的按钮Click事件中进行判断? 不明白。


--  作者:Bin
--  发布时间:2014/3/12 9:49:00
--  
上个例子看看.你是希望增加节点的时候,没有更改节点名称直接确定了的时候有判断提示是吧?   你在ALterEidtNODE里判断一下 是否默认值不行吗?
--  作者:jswalley
--  发布时间:2014/3/12 10:22:00
--  
我测试过了,就是默认值不会触发这个 AfterNodeEdit事件
--  作者:Bin
--  发布时间:2014/3/12 10:24:00
--  
上个例子我研究研究
--  作者:jswalley
--  发布时间:2014/3/12 10:44:00
--  
例子非常简单 在窗口【增加】按钮中的代码

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")

Dim nd As WinForm.TreeNode
nd = tr.Nodes.Add("新文件夹","新文件夹")
tr.SelectedNode = nd
tr.BeginEdit


在TreeView1的  AfterNodeEdit中的代码

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")

If e.NewText = "" Then
    e.Cancel = True
    MessageBox.show("文件夹不能为空")
    tr.Select()
    tr.BeginEdit()
    Return
End If

If e.NewText = "新文件夹" Then
    MessageBox.Show("节点名没有修改")
Else
    MessageBox.Show("节点名修改了")
End If


如果新增的节点用户直接按回车,不会弹出 “节点没有修改的”提示

--  作者:jswalley
--  发布时间:2014/3/12 10:46:00
--  
例子项目