Study/C#, Winform

[C# Winform] PropertyGrid 에서 DisplayName 우선순위

2022. 12. 26. 22:03
class PropData
{
    [Category("Cell Information")]
    [DisplayName("Width")]
    public int Width { get; set; } = 0;

    [Category("Cell Information")]
    [DisplayName("Height")]
    public int Height { get; set; } = 0;

    [Category("Cell Information")]
    [DisplayName("Target X")]
    public double TargetX { get; set; } = 0.0;

    [Category("Cell Information")]
    [DisplayName("Target Y")]
    public double TargetY { get; set; } = 0.0;

    [Category("Cell Information")]
    [DisplayName("Cell ID")]
    public string ID { get; set; } = string.Empty;
}

일반적으로 PropertyGrid에서 위와 같이 사용할 Class를 선언한 후 PropertyGrid에 연결 시켜서 사용하면

 

자신이 어떤 순서로 Class 내의 아이템을 선언한다고 할 지라도 아이템의 DisplayName 오름차 순으로 자동 정렬이 된다.

 

여기서 자신이 원하는 순서대로 정렬을 하고 싶다면 Tab 기호를 사용하면 어느 정도 우선순위를 둘 수 있다.

Tab 기호가 들어간 DisplayName부터 우선순위를 두게 된다.

 

class PropData
{
    [Category("Cell Information")]
    [DisplayName("Width")]
    public int Width { get; set; } = 0;

    [Category("Cell Information")]
    [DisplayName("Height")]
    public int Height { get; set; } = 0;

    [Category("Cell Information")]
    [DisplayName("\tTarget X")]    // <-- Tab 기호 추가
    public double TargetX { get; set; } = 0.0;

    [Category("Cell Information")]
    [DisplayName("\tTarget Y")]    // <-- Tab 기호 추가
    public double TargetY { get; set; } = 0.0;

    [Category("Cell Information")]
    [DisplayName("\tCell ID")]     // <-- Tab 기호 추가
    public string ID { get; set; } = string.Empty;
}

위와 같이 3개의 아이템에 Tab 기호를 추가한 후 실행해보면

아까와는 다르게 Tab 기호가 붙은 항목 부터 오름차순으로 정렬한 후 Tab 기호가 안붙은 항목을 오름차순으로 정렬한다.

 

아이템을 하나 더 추가하여

class PropData
{
    [Category("Cell Information")]
    [DisplayName("Width")]          // <-- 3순위
    public int Width { get; set; } = 0;

    [Category("Cell Information")]
    [DisplayName("Height")]         // <-- 3순위
    public int Height { get; set; } = 0;

    [Category("Cell Information")]
    [DisplayName("\tTarget X")]     // <-- 2순위
    public double TargetX { get; set; } = 0.0;

    [Category("Cell Information")]
    [DisplayName("\tTarget Y")]     // <-- 2순위
    public double TargetY { get; set; } = 0.0;

    [Category("Cell Information")]
    [DisplayName("\t\tCell ID")]    // <-- 1순위
    public string ID { get; set; } = string.Empty;

    [Category("Cell Information")]
    [DisplayName("\tAuto Align")]   // <-- 2순위
    public bool AutoAlign { get; set; } = false;
}

이렇게 선언하게 되면

 

이렇게 정렬이 됩니다.

저작자표시 비영리 변경금지 (새창열림)

'Study > C#, Winform' 카테고리의 다른 글

[C#] 바이트 배열 다루기 : BitConverter  (0) 2023.08.16
[C#] 바이트 배열을 이용한 비트 다루기 : BitArray  (2) 2023.07.15
[C#] 배열 정렬 기능 (Sort)  (0) 2022.12.10
[C# Winform] DataGridView Column Header Drag (컬럼 헤더 드래그)  (0) 2022.10.24
[C#] DateTime 시간 자르기, 반올림, 반내림, 가까운 값  (1) 2022.10.11
'Study/C#, Winform' 카테고리의 다른 글
  • [C#] 바이트 배열 다루기 : BitConverter
  • [C#] 바이트 배열을 이용한 비트 다루기 : BitArray
  • [C#] 배열 정렬 기능 (Sort)
  • [C# Winform] DataGridView Column Header Drag (컬럼 헤더 드래그)
Eskeptor
Eskeptor
Eskeptor
Hello World
Eskeptor
전체
오늘
어제
  • 분류 전체보기 (138)
    • Computer (5)
      • Linux (1)
      • Hardware (2)
      • Software (0)
      • Tips (1)
      • Website (0)
    • Mobile (1)
      • Application (1)
    • Study (108)
      • Android (9)
      • C언어 (45)
      • C++ (17)
      • Unity 5(유니티5) (11)
      • Qt 프로그래밍 (2)
      • MFC (12)
      • C#, Winform (12)
    • My World (24)
      • OpenPad(Android) (12)
      • 한글 패치 (1)
      • C#으로 만든 귀요미들 (5)
      • MFC로 만든 귀요미들 (6)
    • Life Goes On (0)
      • Hip Hop (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 오픈패드
  • 유니티
  • 포인터
  • C언어
  • 비행기
  • 테트리스
  • Tetris
  • 강좌
  • 초보
  • 자바
  • c++11
  • 안드로이드
  • 강의
  • openpad
  • 왕초보
  • 알고리즘
  • C#
  • 배열
  • 슈팅게임
  • 자료구조
  • 기본
  • C++
  • Android
  • MFC
  • 기초
  • 메모장
  • Unity
  • Java
  • 프로그래밍
  • 만들기

최근 댓글

최근 글

hELLO · Designed By 정상우.
Eskeptor
[C# Winform] PropertyGrid 에서 DisplayName 우선순위
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.