Пример #1
0
        private void button2_Click(object sender, EventArgs e) // 查找
        {
            string whatToFind = textBox1.Text;

            if (whatToFind == string.Empty)
            {
                return;
            }

            if (m_AllFoundNodes.Count == 0)
            {
                GenerateFindResult(whatToFind);
            }
            if (m_AllFoundNodes.Count == 0)
            {
                MessageBox.Show("没找到符合的记录。");
                return;
            }

            m_CurIndex++;
            if (m_CurIndex >= m_AllFoundNodes.Count)
            {
                m_CurIndex = 0;
            }

            m_tree.SelectNode((TreeNode)(m_AllFoundNodes[m_CurIndex]), true);
            m_tree.Focus();
        }
        void Update(MWControlSuite.MWTreeView view, TreeNodeCollection tree, NGTreeNodeCollection coll, Hashtable selectedNGNodes)
        {
            if (tree.Count != 0)
            {
                throw new ApplicationException("Tree must be empty here");
            }

            for (int i = 0; i < coll.Count; i++)
            {
                bool isExpanded = false;


                if (null != coll[i].GuiTag)
                {
                    TreeNode node = (TreeNode)coll[i].GuiTag;
                    isExpanded = node.IsExpanded;

                    node.Remove();
                    node.Nodes.Clear();
                    tree.Add(node);
                }
                else
                {
                    tree.Add(NewNode(coll[i]));
                }

                if (coll[i].Nodes.Count > 0)
                {
                    Update(view, tree[i].Nodes, coll[i].Nodes, selectedNGNodes);
                }

                if (isExpanded)
                {
                    tree[i].Expand();
                }
                if (null != selectedNGNodes && selectedNGNodes.ContainsKey(coll[i]))
                {
                    view.SelectNode(tree[i], false);
                    if (tree[i].Parent != null && !(tree[i].Parent.IsExpanded))
                    {
                        tree[i].Parent.Expand();
                    }
                }
            }
        }