| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 648 人关注过本帖
标题:[求助]如何添加treeview中子节点的双击事件?
收藏  订阅  推荐  打印 
bhbh113
Rank: 1
等级:新手上路
帖子:35
积分:464
注册:2007-5-22
[求助]如何添加treeview中子节点的双击事件?

    我在一个窗体中添加了一个treeview,并向其中添加了几个子节点。但是我发现不能像平时添加button时双击控件即可编写单击控件的代码。该如何添加子节点的单击事件代码呢?大家都用过QQ,我想做的就是像QQ中双击好友头像就出现对话框的程序。等高手指点。
搜索更多相关主题的帖子: 中子  节点  treeview  单击  对话框  
2007-10-10 23:02
jxnuwy04
Rank: 4
等级:高级会员
威望:4
帖子:768
积分:7836
注册:2006-9-15

事件里应该可以找得到双击事件吧.

------------------不为别的,就为你,我的理想!-----------------
2007-10-11 08:22
cobby
Rank: 4
等级:高级会员
威望:1
帖子:562
积分:5988
注册:2007-7-11

树里面有单击事件,单击某个节点后,事件就激发。当然,你还需要自己写代码来判断具体是哪个节点被单击。我的代码给你作个参考

int id1 = 0, id2 = 0;
//id1为根节点序号,id2为夺级节点序号

TreeNode tn = new TreeNode();
tn = treeView1.SelectedNode;
int lev = getlev(tn); //当前选中节点所在层数
id1 = Convert.ToInt32(tn.Parent.Name); //获取根节点序号
id2 = Convert.ToInt32(tn.Name); //获取二级节点序号


public int getlev(TreeNode tn) //计算当前选中节点所在层数
{

if (tn.Parent != null) //当前节点有父节点
{
return node_level + getlev(tn.Parent) + 1;
}
else
return 1;
}


努力成为菜鸟!
2007-10-11 09:00
crazymk
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:343
积分:3530
注册:2007-8-30

查看控件的property。然後找到event列表。雙擊妳要添加的event。

すばらしいコードを書き出すのは楽しい事です
2007-10-11 09:15
bhbh113
Rank: 1
等级:新手上路
帖子:35
积分:464
注册:2007-5-22

[QUOTE]

事件里应该可以找得到双击事件吧.

[/QUOTE]

双击事件当然找得到,但那是针对整个treeview的不是针对单个节点的。

感谢cobby的代码,虽然那不能解决我的问题。我又查了很多资料,最后我得出的触发节点单击事件的是这样的:

[CODE]private Point pi; //用pi记录光标所在的位置

private void treeView1_MouseMove(object sender, MouseEventArgs e) //得到光标所在的位置
{
pi = new Point(e.X, e.Y);
}

private void treeView1_DoubleClick(object sender, EventArgs e) //从光标所在的位置得到该位置上的节点
//由此触发节点双击事件
{
TreeNode node = this.treeView1.GetNodeAt(pi);
if (pi.X < node.Bounds.Left || pi.X > node.Bounds.Right)
{
textBox1.Text = "不触发事件";
}
else
{
textBox1.Text = "触发事件";
}
}[/CODE]
我的大致思路就是这样,不知道大家有没有更好的方法。


2007-10-11 13:08
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.053786 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved