关于WinForm TreeView事件NodeMouseClick的问题

堆烟 2007-12-10 08:03:40
private void treeView1_NodeMouseClick( object sender, TreeNodeMouseClickEventArgs e ) {
TreeNode tn = treeView1.SelectedNode;
if (tn != null && tn.Parent != null) this.Text = tn.FullPath; // 在窗体的标题栏上显示--测试
}

我的环境VS2005,Win2003.
这个事件并没有得到想要的结果(NodeMouseDoubleClick事件正常):展开根节点后,第一次点子节点,没反应,经调试,要么tn为null, 要么tn.Parent为null。
用Google搜,貌似有人在MSDN上提了相关的问题(VB.net的)。

难道只好用NodeMouseDoubleClick了?
Thanks...
...全文
403 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
云中客 2007-12-10
  • 打赏
  • 举报
回复
同意楼上二位所言
堆烟 2007-12-10
  • 打赏
  • 举报
回复
好吧,结账。。。。虽然没有说明问题实质。。。。
个人猜测:如同MouseDown--MouseClick--MouseUp一样,NodeMouseClick在AfterSelect之前,所以可能导致Parent节点为Null。。。。
hzybc 2007-12-10
  • 打赏
  • 举报
回复
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect

End Sub

放在这个事件中
程序猿GG 2007-12-10
  • 打赏
  • 举报
回复
定义一个变显,在每次当前节点改变时,将当前的节点保存起来,如

TreeNode currentTN ;

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
currentTN = e.Node;
}

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧