请建议如何以编程方式滚动.NET TreeView控件。
它没有实现任何滚动的公共方法。
答案 0 :(得分:6)
如果您需要滚动到节点:
TreeNode.EnsureVisible();
答案 1 :(得分:3)
试试这个:
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);
}
}
答案 2 :(得分:0)
只需选择并取消选择最低的项目即可。这应该可以解决问题。