TreeView 查找指定节点

/// <summary>
    /// 查找指定节点
    /// </summary>
    /// <param name="tnParent">节点</param>
    /// <param name="strValue">值</param>
    /// <returns></returns>
    private TreeNode FindNode(TreeNode tnParent, string strValue)
    {
        TreeNode treeNode2 = new TreeNode();
        string venueCode = "";
        if (tnParent == null) return null;
        if (tnParent.Value == strValue) return tnParent;
        tnParent.Expand();
        TreeNode tnRet = null;
        foreach (TreeNode tn in tnParent.ChildNodes)
        {
            //获得节点Value
            if (venueCode == "")
            {
                //记录节点
                treeNode2 = tn;
                venueCode = tn.Value;
            }
            else
            {
                //当选择节点发生变化时
                if (venueCode != tn.Value)
                {
                    treeNode2.Collapse();
                    venueCode = tn.Value;
                    treeNode2 = tn;
                }
            }

            tnRet = FindNode(tn, strValue);
            if (tnRet != null) break;
        }
        return tnRet;
    }

方法调用如下:
//循环查找节点

foreach (TreeNode node in this.TreeView1.Nodes)
{
    TreeNode treeNode = FindNode(node, venueCode);

    if (treeNode != null)
    {
        treeNode.CollapseAll();
        treeNode.Selected = true;
        state = 1;
        break;
     }
}

TreeView 查找指定节点

时间: 2024-10-05 13:27:59

TreeView 查找指定节点的相关文章

C# winform 查找指定节点值

简单粗暴,直接上代码: XmlDocument xmlDoc = new XmlDocument(); try { xmlDoc.Load(Help.basePath); XmlNode root = xmlDoc.SelectSingleNode("//screenshot"); if (root != null) { string screenshotsavepath = root.SelectSingleNode("screenshotsavepath").I

C#中读取xml文件指定节点

目录(?)[-] XmlDocumentSelectSingleNode方法的使用 XmlDocumentSelectNodes方法的使用 通过节点属性查找指定节点 参考:Select XML Nodes by Name 假设xml文件内容是 [c-sharp] view plaincopyprint? <?xml version="1.0" encoding="utf-8"?> <Workflow> <Activity> <

笔试算法题(09):查找指定和值的两个数 &amp; 构造BST镜像树

出题:输入一个已经升序排序的数组和一个数字:要求在数组中查找两个数,这两个数的和正好等于输入的那个数字,输出任意一对数字就可以,要求时间复杂度是O(n): 分析:对于升序排序的数组{-i-j-k-m--},只有可能是i+m=j+k(j和k可能是同一个数),所以可以从两边往中间收缩而忽视其他交叉相加的情况: 解题: 1 void FindSumFactor(int *array, int length, int sum) { 2 int left=0, right=length-1; 3 whil

WinForm控件TreeView 只部分节点显示 CheckBox

WinForm控件TreeView 只部分节点显示  CheckBox 用过asp.net的应该知道,要在treeview中实现上述功能可以使用ShowCheckBox 属性指定那些节点显示checkbox哪些不显示,可是winform中的treeview只提供一个ShowCheckBoxes 属性,要么全部节点显示checkbox,要不全部不显示,而指定节点没有ShowCheckBox 属性,下面就在winform的treeview中实现BS对应CheckBox 属性的功能  方法1: a) 

答:SQLServer DBA 三十问之一: char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;

http://www.cnblogs.com/fygh/archive/2011/10/18/2216166.html 1. char.varchar.nvarchar之间的区别(包括用途和空间占用):xml类型查找某个节点的数据有哪些方法,哪个效率高:使用存储 过程和使用T-SQL查询数据有啥不一样: ------------------------------------------------ SQL中char.varchar.nchar.nvarchar的区别 http://www.cn

在空数组中填充指定节点

page({ data:{ list:[] }, //监听显示 onshow:function(){         //到前台显示 var that = this; hotapp.searchkey({                //后台搜索钥匙 "prefix":"item", //前缀节点 "pageIndex":pageIndex, //当前页码 "pagesize":100    //页面大小 }, functi

*字符串-01. 在字符串中查找指定字符

1 /* 2 * Main.c 3 * D1-字符串-01. 在字符串中查找指定字符 4 * Created on: 2014年8月18日 5 * Author: Boomkeeper 6 *****部分通过****** 7 */ 8 9 #include <stdio.h> 10 11 int mysearch(char ch, const char str[], int length) { 12 13 int j, ret = -1; 14 15 for (j = 0; j < le

在一个升序的但是经过循环移动的数组中查找指定元素

数组是升序的,数组经过循环移动之后,肯定是有左半部分或者有半部分还是升序的. 代码: public class SearchRotateArray { public static int search(int a[], int l, int u, int x) { while(l<=u){ int m = (l+u)/2; if(x==a[m]){ return m; }else if(a[l]<=a[m]){ //左半部分升序排列 if(x>a[m]){ l=m+1; }else if

读取XML文件的指定节点的值 并转换为Item

cmb_State_Send.ItemsSource = null; XmlDocument doc = new XmlDocument(); doc.Load("D:\\模板\\WorkstationState_Config.xml"); //加载Xml文件 XmlElement rootElem = doc.DocumentElement; //获取根节点 XmlNode xn = rootElem.SelectSingleNode("//Workstation[@Nam