treeview控件,如何判断? 例如treeview有2个跟节点,每个根节点下一N个子节点,如何判断用户点击的是第一个跟节点下的子节点? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if(e.Node.Level==1)//这个条件 MessageBox.Show(treeView1.SelectedNode.Tag.ToString()); } private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if(e.Node.Level==1)//这个条件怎样写 MessageBox.Show(treeView1.SelectedNode.Tag.ToString()); } TreeNode node=new TreeNode("子结点"); node.Name = treeView1.Nodes[0].Name + treeView1.Nodes[0].Nodes.Count;//子结点的Name永远=它的上级节点的Name+它的上级节点的子结点数 treeView1.Nodes[0].Add(node); //然后判断时用,这里根节点1的name为P1 而根节点2的Name为P2 //node为当前选择节点 if (node.Name.StartsWith("p1")) { //跟节点1的 } else if (node.Name.StartsWith("p2")) { //跟节点2的 } //以此类推 不难吧!TreeNode node = treeNode1.SelectedNode;if(node == null || node.Parent == null) return;return node.Parent.Nodes[0] == node;//即为父节点的第一个子节点 --判断用户点击的是第一个跟节点下的子节点--上面看错了,不好意思!string parentNodeText = node.FullPath.Split(tv.PathSeparator).GetValue(0).ToString(); //得到顶级父节点Textreturn parentNodeText == tv.Nodes[0].Text; 第一个方法是获取该节点的根节点,然后进行比较 private void treeView1_NodeMouseClick( object sender, TreeNodeMouseClickEventArgs e ) { TreeNode node = e.Node; while ( true ) { if ( node.Parent != null ) { node = node.Parent; } else { //此时的node就是其根节点 //怎么判断是根节点1还是根节点2你自己决定 //可以使用 node.Text,或者node.Name,或者node.Index //推荐使用node.Name MessageBox.Show( node.Text ); break; } } }第二个方法就是用使用楼上的方法,但有个前提是两个根节点的Text不能相同,推荐使用该方法node.FullPath属性是从根节点开始到当前节点所有Text的组合,默认用\连接,也可以通过treeview.PathSeparator改变其连接符(分隔符) private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node.Level == 1 && e.Node.Parent.Handle == treeview.Nodes[0].Handle)//这个条件 MessageBox.Show(treeView1.SelectedNode.Tag.ToString()); } private void tree_View_MouseDoubleClick(object sender, MouseEventArgs e) { TreeNode tn = new TreeNode(); tn = tree_View.SelectedNode; if (tn.Parent.Nodes.ToString()== "每一个结点的标识") { MessageBox.Show(tn.Text); } } 如果用户是左键点击,直接判断Treeview的SelectedNodeTreeNode parentNode = treeView1.SelectedNode.Parent;while(parentNode.Parent != null){ parentNode = parentNode.Parent;}return treeView1.Nodes[0] == parentNode;如果用户是右键点击,就稍微麻烦的,需要自己获取点击的节点TreeNode selectedNode = treeView1.GetNodeAt( treeView1.PointToClient(Control.MousePosition));TreeNode parentNode = selectedNode.Parent;while(parentNode.Parent != null){ parentNode = parentNode.Parent;}return treeView1.Nodes[0] == parentNode; 用正则替换两个数字之间的空格 鼠标长按下不放,持续响应鼠标事件怎么办 高分?解决立即结分! 短信猫发送短信的问题,好心人提供个代码学习一下 请问typeof(type)的真意! 十万火急 DateTime和String转换问题 datagridview问题~! 如何用应用程序配置文件(app.config)? 请问window2000自带的smtp怎么使用? 类可以嵌套么? LINQ2SQL基础问题 怎么才能学好软件开发
{
if(e.Node.Level==1)//这个条件
MessageBox.Show(treeView1.SelectedNode.Tag.ToString());
}
{
if(e.Node.Level==1)//这个条件怎样写
MessageBox.Show(treeView1.SelectedNode.Tag.ToString());
}
TreeNode node=new TreeNode("子结点");
node.Name = treeView1.Nodes[0].Name + treeView1.Nodes[0].Nodes.Count;//子结点的Name永远=它的上级节点的Name+它的上级节点的子结点数
treeView1.Nodes[0].Add(node); //然后判断时用,这里根节点1的name为P1 而根节点2的Name为P2
//node为当前选择节点
if (node.Name.StartsWith("p1"))
{
//跟节点1的
}
else if (node.Name.StartsWith("p2"))
{
//跟节点2的
}
//以此类推
TreeNode node = treeNode1.SelectedNode;
if(node == null || node.Parent == null) return;return node.Parent.Nodes[0] == node;//即为父节点的第一个子节点
上面看错了,不好意思!string parentNodeText = node.FullPath.Split(tv.PathSeparator).GetValue(0).ToString(); //得到顶级父节点Text
return parentNodeText == tv.Nodes[0].Text;
private void treeView1_NodeMouseClick( object sender, TreeNodeMouseClickEventArgs e )
{
TreeNode node = e.Node; while ( true )
{
if ( node.Parent != null )
{
node = node.Parent;
}
else
{
//此时的node就是其根节点
//怎么判断是根节点1还是根节点2你自己决定
//可以使用 node.Text,或者node.Name,或者node.Index
//推荐使用node.Name
MessageBox.Show( node.Text );
break;
}
}
}第二个方法就是用使用楼上的方法,但有个前提是两个根节点的Text不能相同,推荐使用该方法
node.FullPath属性是从根节点开始到当前节点所有Text的组合,默认用\连接,也可以通过treeview.PathSeparator改变其连接符(分隔符)
{
if (e.Node.Level == 1 && e.Node.Parent.Handle == treeview.Nodes[0].Handle)//这个条件
MessageBox.Show(treeView1.SelectedNode.Tag.ToString());
}
{
TreeNode tn = new TreeNode();
tn = tree_View.SelectedNode;
if (tn.Parent.Nodes.ToString()== "每一个结点的标识")
{
MessageBox.Show(tn.Text);
}
}
TreeNode parentNode = treeView1.SelectedNode.Parent;while(parentNode.Parent != null)
{
parentNode = parentNode.Parent;
}return treeView1.Nodes[0] == parentNode;
如果用户是右键点击,就稍微麻烦的,需要自己获取点击的节点TreeNode selectedNode = treeView1.GetNodeAt(
treeView1.PointToClient(Control.MousePosition));TreeNode parentNode = selectedNode.Parent;while(parentNode.Parent != null)
{
parentNode = parentNode.Parent;
}return treeView1.Nodes[0] == parentNode;