以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 判断节点怎么老报错?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=4527)

--  作者:roy78
--  发布时间:2009/10/8 22:32:00
--  [求助] 判断节点怎么老报错?
 Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
if nd.IsSelected then
MessageBox.Show("选中要增加的节点位置","请注意")
else
MessageBox.Show("没有选中要增加的节点位置","请注意")
end if
--  作者:狐狸爸爸
--  发布时间:2009/10/8 22:46:00
--  

你没有指定nd的值,它始终是空值


--  作者:roy78
--  发布时间:2009/10/8 22:51:00
--  
 Dim tree As WinForm.TreeView = e.Form.Controls("TreeView1")
if tree.SelectedNode.IsSelected then
MessageBox.Show("选中要增加的节点位置","请注意")
else
MessageBox.Show("没有选中要增加的节点位置","请注意")
end if

                   返回真,选中了就弹出了消息框,但没选中就报错了,并没有弹出消息框

--  作者:狐狸爸爸
--  发布时间:2009/10/8 22:55:00
--  
你的代码逻辑有问题的:


Dim tree As WinForm.TreeView = e.Form.Controls("TreeView1")
if tree.SelectedNode IsNot Noting
     MessageBox.Show("选中要增加的节点位置","请注意")
else
     MessageBox.Show("没有选中要增加的节点位置","请注意")
end if

--  作者:czy
--  发布时间:2009/10/8 22:57:00
--  

不知你将代码放在哪里,如果放在AfterSelectNode等事件中,下面的代码应该不会报错的。


if e.Node.IsSelected then
    MessageBox.Show("选中要增加的节点位置","请注意")
else
    MessageBox.Show("没有选中要增加的节点位置","请注意")
end if


--  作者:roy78
--  发布时间:2009/10/8 22:58:00
--  
 晕,我老是忘了 用 NOTHING