2011-07-06 8 views
0

나는 윈폼 응용 프로그램의 표준 트 리뷰를 사용하고 모든 것이 하나의 문제를 제외하고 잘 작동 해제됩니다 때 이벤트를 얻는 방법 : 시스템의윈폼 트 리뷰 항목이

부품 선택의 TreeNode에 따라 변경해야을, AfterSelect 이벤트를 사용하여 정상적으로 작동합니다.

그러나 때때로 TreeView가 완전히 지워져서이 이벤트를 트리거하지 않는 빈 선택이 발생합니다. momemnt에서이 문제를 해결하기 위해 수동으로 이벤트 콜백을 호출하고 있습니다.

이 함수를 어딘가에 호출하는 것을 잊어 버리기 때문에 이것은 분명 위험합니다. 이 작업을 수행하는 "올바른"방법이 있습니까?

감사합니다!

답변

0

이것은 의도적으로 설계된 것입니다. 기본 네이티브 Windows 컨트롤은 사용자가 알아 내지 못하는 것에 대한 알림 만 생성합니다. 예를 들어 ListBox 컨트롤에는 항목이 추가되거나 제거되었다고 알리는 이벤트가 없습니다. 사용자가 항목을 추가하거나 제거 할 수있는 방법이 없기 때문입니다. 마찬가지로 사용자가 트리 뷰에서 노드를 제거 할 방법이 없습니다.

이러한 종류의 변경에는 작성한 코드가 필요합니다. 그것은 귀하의 코드이므로 이러한 변경 사항이 발생했는지 여부를 알 수 없습니다. 이벤트를 원할 경우 직접 제기해야합니다. TreeNodeCollection 클래스는 노드 컬렉션에 대한 프로그래밍 방식 변경을위한 이벤트를 안정적으로 생성 할 수는 없다는 점을주의하십시오. ObservableCollection처럼 작동하지 않습니다. 이 이벤트가 필요 없으므로 확실히 나을 것입니다.

+0

답장을 보내 주셔서 감사합니다. 내 해결 방법을 마련하여 실행 중이므로 실제 "문제"가 없습니다. 조심해야 할 것 같아요. – Knowleech