2012-03-22 4 views
2

"AfterSelected"이벤트가 노드 클릭에 응답하는 가장 좋은 장소입니까?트 리뷰에서 어떤 노드를 클릭했는지 확인

어떤 노드를 클릭했는지 어떻게 결정합니까? 다음 코드는 당신이 참조 할 NodeBetter을 기대했던 분명하지 않다

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) 
     { 
      if (e.Node.Name == NodeBetter) 
      { 

      } 
      // else NodeUh, NodeOze 
     } 
+0

나는 MouseUp 이벤트를 사용하고 HitTest 정보를 확인하는 것이 당신이 찾고있는 것일 수 있다고 생각합니다 : http://msdn.microsoft.com/en-us/library/z6sb88bz%28v=vs.100%29.aspx – IAbstract

답변

2

"현재 컨텍스트에 존재하지 않는 'NodeBetter'이름 'ㄱ 유타는 오히려 나에게 말한다 작동하지 않지만, TreeViewEventArgs.Node 실제로 무엇을이다 네가 원해. 문서별로 :

확인, 확장, 축소 또는 선택되어있는 트리 노드를 가져옵니다.

아마도 당신은 의미 :

if (e.Node.Name == "NodeBetter") 

?

정말로이든 Selected 이벤트가 필요한지 확실하지 않습니다. 노드가 확장되었지만 선택되지 않은 경우 처리기를 호출할까요? 예를 들어?

+0

아니요 노드가 실제로 선택된 경우에만 확장 시점을 알 필요가 없습니다. –

+0

나는 이것이 정확할 것이라고 생각했다. HitTest 메서드를 사용하는 대안을 제안했습니다. 어느 쪽이든 잘 작동해야합니다. – IAbstract

+0

@ClayShannon : 좋아요, 그래서'e.Node'는 괜찮습니다. –