TreeNode
속성 NextVisibleNode
이 어떻게 의미 상 정의되어 있는지 궁금합니다. 나는 그것이 이 아니며 의 IsVisible
속성과 일치합니다.에 해당하지 않는 것으로 나타났습니다.TreeNode.NextVisibleNode가 깨졌습니까?
TreeView
이 TreeNode
일 때 클라이언트 영역에 표시 할 수있는 것보다 많습니다 (예 : 스크롤바가 나타남).
TreeNode
다음
모든
TreeNode
의이 계산됩니다 ...
int numVisible = 0;
for (TreeNode node = treeView.TopNode;
node != null;
node = node.NextVisibleNode)
{
// Do something...
++numVisible;
}
... 단지 다음 코드로 클라이언트 영역에서 볼 수 있습니다 그 TreeNode
의 반복하려고 할 때 . TopNode
이 예상대로 작동하지만 TreeNode
의 올바른 하위 집합을 반복하기 위해서는 for
의 조건을 node != null && node.IsVisible
으로 확장해야합니다.
NextVisibleNode
의이 동작은 의도적입니까? 버그 일 수 있습니까?
입니다. 그래서 보이는 노드를 반복하고 싶습니까? –
@MicahArmantrout 맞습니다. 'TopNode'와'NextVisibleNode'를 사용하면 모든'TreeNode'를 반복적으로 반복하는 것보다 더 짧고 읽기 쉬운 코드를 얻을 수 있다고 생각했습니다. 그러나'NextVisibleNode'의 이상한 행동은 나를 혼란스럽게 만들었습니다. –
보고있는 문제를 재현 할 수있었습니다. –