在WinForm中,点击TreeView控件节点,就展开当前节点,怎么作呢?? 在WinForm中,点击TreeView控件节点,就展开当前节点,怎么作呢??那里有源码示例 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TreeView tv = new TreeView();tv.ExpandAll(); //节点单击事件中写 楼主能讲仔细些吗?怎么个“点击TreeView控件节点,就展开当前节点” 比如有个树AAA- |_afadfad |_AAA |_ADFASDFBBB- |_ADFASD |_AFFAFCC- 如果BBB是收缩的,我只要点击(注意不是双击)BBB就能展开这个节点,而其它节点不影响!!! treeView 好象有个nodeClick事件的,看看吧!~~叫什么名字不太记得了!~在那事件里面写 叫做 treeView1_AfterSelect 事件 private void treeView1_MouseClick(object sender, MouseEventArgs e) { if(e.Button != System.Windows.Forms.MouseButtons.Left) return; TreeNode node = this.treeView1.GetNodeAt(e.Location); if(node.IsExpanded) { node.Collapse(); } else { node.Expand(); } } 你点击的是BBB这个节点吗?还是选中了BBB这个节点一、选中时,可以在treeView1_AfterSelect 事件中写e.Node.Expand();二、如果只是单击一下,可以这样private void treeView1_Click(object sender, EventArgs e) { TreeNode ltn_select = tv_tree.SelectedNode; ltn_select.Expand(); }其实这两者可以合并为后者 剑问天:我在Treeview的Click这样写的TreeNode node = this.treeView1.GetNodeAt(pp);//pp是我获取的TreeView的节点坐标if(node.IsExpanded){ node.Collapse();}else{ node.Expand();}点击其它节点,只是在第一个节点展开和收缩呢???? 已经结贴了?呵呵,还是回答一下,希望搂主能看到。你用Click事件么?我建议使用MouseClick事件(我用的是2005,这个事件是在Framework2.0中新增的),事件的参数直接包含鼠标点击的坐标。我怀疑你的pp的坐标选的不正确。选择坐标时一定要注意,分清你得到的是屏幕坐标(以屏幕左上角为原点)还是窗体坐标(以窗体左上角为原点),还要看清函数要求的是哪种坐标。比如Treeview.GetNodeAt()方法,就要求参数为窗体坐标。 调用动态库图片处理 如何保持变量值n随之改变 而不是重新加载后还是原来值 位置不同却获取不到值---一个诡异的问题 从数据库获取的大家一般都怎么处理? OWC中边框线的问题 如何使用OleDBDataReader返回Oracle的结果集合? C#好学吗? Calendar问题 求教各位大虾如何在.net下用c#编写两个不同进程的窗口之间的通讯 关于事件与变量联系的问题 c# bug! [简单问题,100分送人了!!]请问网站程序在我的机子上可以运行,当上传到服务器上,总是运行一会儿就不能运行了。
AAA-
|_afadfad
|_AAA
|_ADFASDF
BBB-
|_ADFASD
|_AFFAF
CC-
如果BBB是收缩的,我只要点击(注意不是双击)BBB就能展开这个节点,而其它节点不影响!!!
在那事件里面写
{
if(e.Button != System.Windows.Forms.MouseButtons.Left)
return;
TreeNode node = this.treeView1.GetNodeAt(e.Location);
if(node.IsExpanded)
{
node.Collapse();
}
else
{
node.Expand();
}
}
一、选中时,可以在treeView1_AfterSelect 事件中写e.Node.Expand();
二、如果只是单击一下,可以这样private void treeView1_Click(object sender, EventArgs e)
{
TreeNode ltn_select = tv_tree.SelectedNode;
ltn_select.Expand();
}
其实这两者可以合并为后者
我在Treeview的Click这样写的
TreeNode node = this.treeView1.GetNodeAt(pp);//pp是我获取的TreeView的节点坐标
if(node.IsExpanded)
{
node.Collapse();
}
else
{
node.Expand();
}
点击其它节点,只是在第一个节点展开和收缩呢????
我建议使用MouseClick事件(我用的是2005,这个事件是在Framework2.0中新增的),事件的参数直接包含鼠标点击的坐标。我怀疑你的pp的坐标选的不正确。选择坐标时一定要注意,分清你得到的是屏幕坐标(以屏幕左上角为原点)还是窗体坐标(以窗体左上角为原点),还要看清函数要求的是哪种坐标。
比如Treeview.GetNodeAt()方法,就要求参数为窗体坐标。