SelectedNode
을 null
으로 설정하면 트리가 올바르게 업데이트되지만 BeforeSelect
및 AfterSelect
은 실행되지 않습니다.TreeView.SelectedNode = null을 설정할 때 어떤 이벤트를 사용할 수 있습니까?
선택 항목이 언제 null로 변경되었는지 알 수있는 방법이 있습니까?
내 첫 번째 생각은 컨트롤을 확장하고 이벤트를 추가하는 것이지만 이미 사용할 수있을 것이라고 생각했을 것입니다.
SelectedNode
을 null
으로 설정하면 트리가 올바르게 업데이트되지만 BeforeSelect
및 AfterSelect
은 실행되지 않습니다.TreeView.SelectedNode = null을 설정할 때 어떤 이벤트를 사용할 수 있습니까?
선택 항목이 언제 null로 변경되었는지 알 수있는 방법이 있습니까?
내 첫 번째 생각은 컨트롤을 확장하고 이벤트를 추가하는 것이지만 이미 사용할 수있을 것이라고 생각했을 것입니다.
내가 할 수있는 유일한 방법은 새 컨트롤을 만들고 OnAfterSelect
및 OnBeforeSelect
도 호출되지 않는 SelectedNode
에 대한 새 구현을 제공하는 것 같습니다.
public new TreeNode SelectedNode {
get { return base.SelectedNode; }
set {
// Remember, if `value' is not null this will be called in `base'.
if (value == null) {
TreeViewCancelEventArgs args
= new TreeViewCancelEventArgs(value, false, TreeViewAction.Unknown);
OnBeforeSelect(args);
if (args.Cancel)
return;
}
base.SelectedNode = value;
// Remember, if `value' is not null this will be called in `base'.
if (value == null) {
OnAfterSelect(new TreeViewEventArgs(value, TreeViewAction.Unknown));
}
}
}
은 같아 ... 당신이 찾고있는 무엇을 지원 어쩌면 너무 다른 케이크를 가지고있는 그러나, 난 그냥이 컨트롤 (SO의 오른쪽 열 :)에 주시를) 발견 나에게 좋은 해결 방법이지만 질문은 왜 MS가 이것을 처음부터 구현하지 않았는가? 뭔가 내려다 보죠? –
MS가 Sorin을 많이 바라 보았다;) –
안녕하세요 Sorin, 아마도 이것이 아주 좋은 해결책이라고 생각합니다. 어제 솔루션을 구현하지 않았다면 해결할 수있을 것입니다. 그러나 해결책을 표시하고 있습니다. 같은 문제를 해결하고자하는 다른 사용자의 답변으로 볼 수 있지만 아직까지는이 컨트롤을 아직 테스트하지 않았 음을 이해하시기 바랍니다. –