엔조이데브 v11
로그인회원가입

개발 노트

전체글

1

C#

C# TreeView 관련

C#

·

4/2/2013

·

C# TreeView Control Overview Windows Forms, .NET 8+ 무엇이 TreeView 인가? TreeView 컨트롤은 계층적 노드를 트리 형태로 표시하여, 사용자가 폴더 탐색기처럼 확장·축소하며 정보를 탐색할 수 있게 한다. Microsoft Learn 문서는 이를 “Windows Explorer 좌측 패널과 같은 계층 탐색 UI”로 정의한다. 대표 시나리오 핵심 프로퍼티 & 이벤트 첫 트리 만들기 – 3단계 스니펫 Tip — 대용량 데이터: 1 000×15 노드를 그릴 때는 BeginUpdate() → 노드 추가 → EndUpdate() 순으로 감싸 CPU · UI 지연을 억제한다. 고급 패턴 5-1 Lazy Loading 대규모 DB 트리일 때 최초에는 더미 노드만 두고, 펼칠 때마다 필요한 자식만 로드하여 메모리 절약. 5-2 커스텀 노드 모델 TreeNode를 상속해 Id, Type, Metadata를 추가 → 도메인 의미를 노드 객체에 캡슐화하여 캐스팅 없이 속성 접근. 5-3 드래그-앤-드롭 재정렬 tree.AllowDrop = true ItemDrag → DoDragDrop(e.Item, DragDropEffects.Move) DragOver / DragDrop 핸들러에서 GetNodeAt() 로 대상 계산 후 Parent.Nodes.Insert() 베스트 프랙티스 체크리스트 아이콘 통일: 16×16 · 32×32 두 세트만 유지해 DPI 스케일링 오류 방지 접근성: ShowPlusMinus = true, 키보드 단축키(Right/Left) 설명 포함 가독성: 깊이 3단계를 넘으면 검색 필터나 가상 그룹 UI 제공 메모리: 노드 태그(Tag)에 대용량 DTO 직접 저장 X → 키 or Lazy factory로 보관 결론 TreeView 컨트롤은 간단한 API, 깊이 있는 커스터마이징, 그리고 손쉬운 이벤트 모델 덕분에 여전히 WinForms 프로젝트에서 계층 UI의 사실상 표준 도...

  • 개발 언어
    • - Visual Basic 6.0 (16)
    • - Visual C++ 6.0 (18)
    • - 기타 (0)
    • - JavaScript (0)
    • - Next.js (0)
    • - C# (12)
    • - DevExpress (4)
    • - Java (0)
  • 개발 도구
  • 개발 DB

Tag

©2002-2025 EnjoyDev. All rights reserved

엔조이데브엔조이다물