当前位置: 首页 > 编程语言 > C#

如何在WindowsFormsTreeView中通过Tag选择节点Share

时间:2023-04-10 13:49:46 C#

如何在WindowsFormsTreeView中通过Tag选择节点我已经搜索了我能做的事情,但仍然没有运气。我用它为树视图的每个节点分配一个标签foreach(DataRowdataRowindatabaseFunc.dataTable.Rows){TreeNodenodes=newTreeNode();nodes.Text=dataRow["LastName"].ToString().Trim()+","+dataRow["FirstName"].ToString().Trim();nodes.Tag=dataRow[0].ToString().Trim();treeView.Nodes.Add(节点);我知道你可以选择节点:TreeNodeCollectionnodeCollect=treeView.Nodes;treeView.SelectedNode=nodeCollect[索引];FindbyTag当Tag包含复杂的对象或者您想基于非字符串键查找时,FindbyTag很有用。为了能够搜索子节点,您可以在此处查看答案并使用Descendants扩展方法来查找包括子节点在内的所有节点。然后,您可以按标签查找节点。例如,如果一个Tag包含一个Product,你想根据它的Id查找一个Product,你可以使用以下代码:varresult=tree.Descendants().Where(x=>((x.TagasProduct)!=null)&&(x.TagasProduct).Id=someId).FirstOrDefault();或者对于简单的字符串搜索键:varresult=tree.Descendants().Where(x=>(x.Tagasstring)==searchkey)。FirstOrDefault();if(result!=null)tree.SelectedNode=result;如果只想在根节点之间搜索,请使用:varresult=tree.Nodes.Cast().Where(...其余同上。按名称查找您可以使用Nodes集合的Find方法查找节点基于其名称(而不是文本)。当您想根据字符串键查找节点时,使用Find方法很有用。为此,您应该在创建节点时设置节点的名称。varresult=tree.Nodes.Find(searchKey,true).FirstOrDefault();if(result!=null)tree.SelectedNode=result;如果只想在根节点中搜索,请使用:varresult=tree.Nodes.Find(searchKey,false).FirstOrDefault();注意作为结论,您可以使用Tag属性将复杂对象存储在Tag中,并在需要时展开它们。对于字符串搜索键,最好使用注释中描述的Name属性。以上就是C#学习教程:如何在WindowsFormsTreeView中通过标记选择节点分享全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收集,不代表作品如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: