以文本方式查看主题

-  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=14506)

--  作者:hanxuntx
--  发布时间:2011/11/22 10:28:00
--  [求助]虽然有了AfterEditNode,但是如何禁止重复还是不会啊!

试了半天,还是不行。

我现在的代码

 

Dim b As Boolean = False
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
For Each nd As WinForm.TreeNode In tr.AllNodes
    If nd.Text = e.NewText Then
        e.Cancel =True
        b =True
        Exit For
    End If
Next
If b Then
    MessageBox.Show("已存在同名角色,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    tr.SelectedNode = e.Node
    tr.Select()
    tr.BeginEdit()     \'执行到这里只能选中节点,不能进入编辑
End If

 

求示例

 

 


--  作者:狐狸爸爸
--  发布时间:2011/11/22 10:56:00
--  

可以禁止重复的:

 

If e.NewText <> e.Node.Text Then
    Dim cnt As Integer
    Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
    For Each nd As WinForm.TreeNode In tr.AllNodes
        If nd.Text = e.NewText Then
            cnt = cnt + 1
        End If
    Next
    If cnt > 0 Then
        e.Cancel = True
        MessageBox.Show("已存在同名角色,请修改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        tr.SelectedNode = e.Node
        tr.Select()
    End If
End If

 

不过只能禁止重复,无法重新进入编辑状态。


--  作者:hanxuntx
--  发布时间:2011/11/22 11:22:00
--  
是否可以个改进?无法重新进入编辑状态,客户点击其他节点了,禁止重名实际就没达到
--  作者:mr725
--  发布时间:2011/11/22 11:58:00
--  

临时解决办法: 下面时是利用系统例子里的目录树管理.table文件,上面有个“重命名”按钮:

在 .......

        tr.SelectedNode = e.Node
        tr.Select()


后面加上:


Sendkeys.send("{Tab}")
Application.DoEvents()
Sendkeys.send("{Enter}")


    End If
End If

[此贴子已经被作者于2011-11-22 11:59:54编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/11/22 12:07:00
--  
2楼代码可以禁止重复的。
--  作者:mr725
--  发布时间:2011/11/22 12:14:00
--  
以下是引用狐狸爸爸在2011-11-22 12:07:00的发言:
2楼代码可以禁止重复的。

加上4楼的就可以重新进入编辑(节点)的状态。。。啊。


--  作者:hanxuntx
--  发布时间:2011/11/22 12:39:00
--  
以下是引用mr725在2011-11-22 12:14:00的发言:

加上4楼的就可以重新进入编辑(节点)的状态。。。啊。

呵呵不错


--  作者:hanxuntx
--  发布时间:2011/11/22 12:41:00
--  
不过只对按回车完成编辑有效,如果控件比较多,而且用狐表点选了别的控件的话就有点不好用了