TreeNodeプロパティNextVisibleNodeが意味的にどのように定義されているのか疑問に思っています。のプロパティに対応していないことに気付きました。TreeNodeIsVisible
クライアント領域に表示できるよりも多くのを保持Windows.Forms.Formしている を考えてみましょう(つまり、スクロール バーが表示されます)。TreeViewTreeNode
TreeNode次のコードを使用して、クライアント領域に表示されているのみを反復しようとすると...
int numVisible = 0;
for (TreeNode node = treeView.TopNode;
node != null;
node = node.NextVisibleNode)
{
// Do something...
++numVisible;
}
...実際には、最初に表示されたものより下のすべて のがカウントされます。期待どおりに動作しますが、 の正しいサブセットを反復するには、の条件をに拡張する必要があります。TreeNodeTreeNodeTopNodefornode != null && node.IsVisibleTreeNode
この動作はNextVisibleNode意図したものですか、それともバグによる可能性がありますか?