TREE + - 号点击事件? 我想实现如下功能:点击node前面的加号时只展开其子节点,单击node本身时才触发其点击事件。 但是现在所用的NodeMouseClick事件不管点击加号(还是减号)还是node都会触发。 而用这个AfterSelect,再次点击相同项时,又无响应.哪个高手有办法,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 试试看treeView1_BeforeExpandBeforeExpand事件。 如果你只是希望说那些叶子节点,也就是没有下一级子节点的节点,只是要处理这种节点,可以在NodeMouseClick加一个判断: private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Node.Nodes.Count == 0) { //处理,否则不处理 } } 加号(减号)也是node的一部分,所以肯定是一起触发.可以判断鼠标与加号(减号)的区域是否相交来单独触发. 使用 AfterCollapse 和 AfterExpand事件 楼上有理...你说通过Click拿 Position来判断行不行? 自己解决了,谢谢大家,附代码,留给需要者!! if (e.Clicks == 1 && e.Button == MouseButtons.Left) { var clickNode = treeView1.GetNodeAt(treeView1.PointToClient(Cursor.Position)); if (clickNode != null) { var r = clickNode.Bounds; if (r.Contains(treeView1.PointToClient(Cursor.Position))) { MessageBox.Show(clickNode.Text + "----" + clickNode.Name); } } } C#winform 最大化时总显示ICO 非最大化时就不显示 C#窗体中数据库更新问题 字符串对齐问题 使用DataAdapter更新数据库时无法使用事务 登陆验证问题 C# 能不能操作Office xp 以下的 EXCEL 想换程序学习的网友请进。 字符串的长度 怎么高效的让RichTextBox总是显示最后若干行? 用GDI绘图时,多次绘以后,再绘制时会很慢,占用很大资源,如何解决? VS2008+SQL2005开发的程序,如果数据库转移到SQL2000上会不会出问题 distinct 如何使用在我的语句里
BeforeExpand事件。
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Node.Nodes.Count == 0)
{
//处理,否则不处理
}
}
可以判断鼠标与加号(减号)的区域是否相交来单独触发.
{
var clickNode = treeView1.GetNodeAt(treeView1.PointToClient(Cursor.Position));
if (clickNode != null)
{
var r = clickNode.Bounds;
if (r.Contains(treeView1.PointToClient(Cursor.Position)))
{
MessageBox.Show(clickNode.Text + "----" + clickNode.Name);
}
}
}