Form 클래스 생성자는 TreeView 컨트롤에서 주 노드를 만듭니다. 런타임 시 사용자는 이 노드(또는 이 노드에서 시작된 모든 자식 노드)를 선택하여 TreeView에 추가 노드를 추가할 수 있습니다. 양식 클래스에는 컨텍스트 메뉴도 포함되어 있습니다. 이 컨텍스트 메뉴에는 두 가지 옵션이 포함되어 있습니다. 하나는 새 노드를 추가하고 다른 노드는 기존 노드를 삭제합니다. 새 노드가 요청되면 응용 프로그램이 새 노드 대화 상자의 인스턴스를 엽니다. 이 대화 상자는 사용자가 새 노드의 이름, 텍스트 및 태그 값을 설정하도록 합니다. 태그 값은 모든 개체일 수 있지만 이 예제에서는 태그가 추가 문자열 값을 보유하도록 제한됩니다. 대화 상자에서 값이 수집되면 새 노드가 정보로 채워지고 TreeView의 선택한 노드에 추가됩니다. 그림 4.4 – TreeView 그림 4.4의 예로 Windows 탐색기는 Windows 탐색기에서 TreeView의 좋은 예를 보여 주며 있습니다. 탐색기의 왼쪽에는 계층 적 레이아웃의 드라이브에 대한 정보가 표시됩니다.

탐색기는 데스크톱이라는 노드로 트리를 시작합니다. 거기에서 데스크톱 노드 아래에 들여쓰기된 여러 노드를 볼 수 있습니다. 노드를 연결하는 들여쓰기와 선은 내 컴퓨터 노드가 데스크톱 노드의 자식임을 보여 준다. 내 컴퓨터에는 A: 드라이브, C: 드라이브 등과 같은 자식이 있습니다. 같은 부모의 자녀를 형제라고도 합니다. A: 드라이브및 B: 드라이브는 예를 들어, 둘 다 내 컴퓨터를 부모로 가지고 있으며 형제라고 합니다. TreeView 컨트롤은 시각적 기본의 공통 컨트롤 구성 요소의 일부로 사용할 수 있습니다. 사용자에게 데이터를 계층구조로 표시해야 하는 경우 언제든지 TreeView를 사용할 수 있습니다.

다음 코드 영역은 새 노드 이름, 텍스트 및 태그 값을 보유하는 데 사용되는 세 개의 공용 속성을 정의하는 데 사용됩니다. 사용자가 이 양식에 이러한 값을 설정하면 주 양식은 이러한 속성을 수집하고 새 노드의 이름, 텍스트 및 태그 속성에 할당합니다. 다음 코드 영역은 검색 식과 일치하는 텍스트 속성이 있는 노드 또는 노드를 찾는 데 사용됩니다. 양식에는 텍스트 검색어를 설정하고 단추 클릭 이벤트 처리기에서 메서드를 불러오는 데 사용되는 그룹 상자가 포함되어 있습니다. 단추 클릭 먼저 ClearBackColor 메서드를 호출 하 여 모든 강조 표시된 노드를 지웁니까; 노드가 모두 흰색 배경으로 복원된 후 처리기는 FindByText 메서드를 호출합니다. 이 메서드는 백 색상을 지우기 위해 설명된 메서드와 매우 유사합니다. 메서드는 트리 뷰 노드의 컬렉션을 어셈블한 다음 각 노드를 재귀 메서드에 전달합니다. FindRecursive 메서드는 검색 식과 일치하는 텍스트 속성이 있는 노드를 찾고 일치하는 검색이 발견되면 뒷면 색상을 노란색으로 설정합니다.