S'il vous plaît des conseils comment puis-je faire défiler un contrôle .NET TreeView par programme.Comment faire pour faire défiler le contrôle TreeView par programme?
Il ne met en œuvre aucune méthode publique de défilement.
S'il vous plaît des conseils comment puis-je faire défiler un contrôle .NET TreeView par programme.Comment faire pour faire défiler le contrôle TreeView par programme?
Il ne met en œuvre aucune méthode publique de défilement.
Si vous avez besoin de faire défiler vers le noeud:
TreeNode.EnsureVisible();
+1, réponse correcte. –
Si vous savez exactement quel est le nœud que vous recherchez, le point de code ci-dessus défilera par programmation vers le nœud en question. – IbrarMumtaz
Sélectionnez et désélectionnez simplement l'élément le plus bas. Cela devrait faire l'affaire.
Essayez ceci:
treeView1.TopNode = treeView1.Nodes[500];
EDIT Peut-être plus suggestif :-)
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);
}
}
Et s'il n'y a pas 500 nœuds?! – fletcher
Que faire si vous n'avez pas 500 nœuds? ;-) –
Florian, merci pour la réponse. Comment puis-je attacher le VScrollBar externe à TreeView? –
qui UI fra je travaille? Windows Forms, ASP.NET, WPF ou Silverlight? –