代码之家  ›  专栏  ›  技术社区  ›  Murat Korkmaz

如何以编程方式滚动TreeView控件?

  •  3
  • Murat Korkmaz  · 技术社区  · 16 年前

    请建议我如何以编程方式滚动.NETTreeView控件。

    3 回复  |  直到 14 年前
        1
  •  6
  •   Denis Palnitsky    16 年前

    如果需要滚动到节点:

    TreeNode.EnsureVisible();
    
        2
  •  3
  •   Tim Cooper    14 年前

    试试这个:

    treeView1.TopNode = treeView1.Nodes[500];
    

    也许更具启发性:-)

        private void Form1_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < 100; i++) {
                TreeNode node = treeView1.Nodes.Add(i.ToString());
                for (int j = 0; j < 10; j++) {
                    node.Nodes.Add(j.ToString());
                }
            }
        }
    
        private void ScrollNode(TreeNode node) {
            treeView1.TopNode = node;
            treeView1.Refresh();
            System.Threading.Thread.Sleep(50);
            if (node.IsExpanded) {
                foreach (TreeNode subNode in node.Nodes)
                    ScrollNode(subNode);
            }
        }
    
        private void button1_Click(object sender, EventArgs e)
        {
            treeView1.Focus();
            foreach (TreeNode node in treeView1.Nodes) {
                ScrollNode(node);
            }
        }
    
        3
  •  0
  •   Jouke van der Maas    16 年前

    只需选择和取消选择最低的项目。这应该能奏效。

    推荐文章