Foxtable(狐表)用户栏目专家坐堂 → 如何判断viewtree没有任何节点被选中了 【ok了】


  共有16468人关注过本帖树形打印复制链接

主题:如何判断viewtree没有任何节点被选中了 【ok了】

帅哥哟,离线,有人找我吗?
mr725
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/4/5 21:26:00 [只看该作者]

以下是引用易狐在2010-4-5 21:22:00的发言:
人家是让您就保留到您的判断部分就可以了:

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

 If
nd IsNot Nothing Then
      ......
 End If

这个我还不知吗?大哥呀, 没有选中任何节点时,或空目录树的情况下都提示错误啊~  看5楼贴图。

不好意思多试两次又没有任何提示了。。。 图片点击可在新窗口打开查看

[此贴子已经被作者于2010-4-5 21:37:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/4/5 21:50:00 [只看该作者]

但是还是不能做任何事情,因为没有选中任何节点时,或空目录树的情况下 nd = tr.SelectedNode没有意义啊~ 

 回到顶部
帅哥哟,离线,有人找我吗?
易狐
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:147 积分:947 威望:0 精华:0 注册:2009/5/12 9:43:00
  发帖心情 Post By:2010/4/5 21:58:00 [只看该作者]

因为您是加载节点,所以我认为无需判断,不信您试试!

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/4/5 22:21:00 [只看该作者]

看来时我的问题啦~ 
[此贴子已经被作者于2010-4-5 22:23:56编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19403 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2010/4/5 22:22:00 [只看该作者]

以下是引用mr725在2010-4-5 21:50:00的发言:
但是还是不能做任何事情,因为没有选中任何节点时,或空目录树的情况下 nd = tr.SelectedNode没有意义啊~ 


当然有意义。注意代码中的以下2行(红色部分):

Dim
tr As WinForm.TreeView
Dim
nd As WinForm.TreeNode
tr = e.Form.Controls(
"TreeView1"
)
nd = tr.SelectedNode                     '这是定义的节点,指的是选中节点

If
nd IsNot Nothing Then            '如果选中节点不为空的话,就执行下面的代码
     nd = nd.Nodes.Add(
"新节点","新节点")
     tr.SelectedNode = nd
     tr.
Select

     tr.BeginEdit

End
If


 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19403 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2010/4/5 22:24:00 [只看该作者]

以下是引用易狐在2010-4-5 21:58:00的发言:
因为您是加载节点,所以我认为无需判断,不信您试试!

必须判断的,否则会出错。我碰到过类似的问题,我之前的处理方式,是先选中TreeView,然后再执行代码。
用老六的判断SelectedNode是否为空,这种方式更好。


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/4/5 22:40:00 [只看该作者]

以下是引用reachtone在2010-4-5 22:24:00的发言:

必须判断的,否则会出错。我碰到过类似的问题,我之前的处理方式,是先选中TreeView,然后再执行代码。
用老六的判断SelectedNode是否为空,这种方式更好。

自己做了:  不知道对否?
Dim tr As WinForm.TreeView
Dim nd As WinForm.TreeNode
tr = Forms("主窗口").Controls("TreeView1")
tr.select()
nd = tr.SelectedNode
If nd Is Nothing Then
    return "< 没有节点!或没有选中节点>"
end if

[此贴子已经被作者于2010-4-5 22:45:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/4/5 22:49:00 [只看该作者]

出错原因好像是给变量赋值(tr.SelectedNode.text)时造成的,代码多了一时记不起来了,再说引用tr.SelectedNode.text 也是很正常的,这时就要判断是否有节点或节点是否被选中了,而不是无需判断···~~~
谢谢大家了。

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19403 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2010/4/5 22:52:00 [只看该作者]

tr.select()是多余的.

老六的代码是用来判断有没有选中treeview,你的意思好象是判断treeview有无节点?

要判断有无节点也很简单,只要这样:
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
If tr.Nodes.Count = 0 Then
    MessageBox.Show("< 没有节点!>")
end if


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7237 积分:40614 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/5 23:27:00 [只看该作者]

以下是引用reachtone在2010-4-5 22:24:00的发言:

必须判断的,否则会出错。我碰到过类似的问题,我之前的处理方式,是先选中TreeView,然后再执行代码。
用老六的判断SelectedNode是否为空,这种方式更好。

好像可以先清空目录树再加载,速度也是飞快的!


 回到顶部
总数 21 上一页 1 2 3 下一页