메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

C# .NET 자료실

PropertyGrid C#에서 PropertyGrid 사용하기

2010.08.26 07:09

WhiteAT 조회 수:19515

보통 PropertySheet 로 불리는 PropertyGrid 를 C#에서 사용해 보겠습니다.

 

사용할 네임스페이스

        using System.ComponentModel;

 

PropertyGrid 컨트롤을 폼에 올리고, Name을 optionMan 로 하겠습니다.

그리고, 아래 4개의 항목을 표시해보겠습니다.

    이름 : 홍길동

    나이 : 20

    국어 : 99

    영어 : 98

 

 

PropertyGrid 에 출력할 내용을 WATMan 클래스로 만듭니다. 

  


PropertyGrid 에서 WATMan 클래스를 연결해야 합니다.

 

 

   public partial class frmMain : Form
    {
        WATMan gridMan = new WATMan();
        public frmMain()
        {
            InitializeComponent();
            this.optionMan.SelectedObject = gridMan;
        }
    } 

 

 

현재까지 작업하고 실행한 결과입니다.

watpropertygrid1.gif

 

 

모든 항목이 [기타]로 묶여 있는데, [프로필]과 [점수]로 분리해보겠습니다.

 

    [CategoryAttribute("프로필")   ]   를 이용하면 그룹으로 묶을수 있습니다.

     [DescriptionAttribute("상세 설명")] 를 이용하면 하단부의 상세한 설명을 출력할 수 있습니다.

     [BrowsableAttribute(false)]  를 이용하면 속성 창에 표시하지 않습니다.

                                                    ( 클래스 멤버이긴 하지만, 설정할 필요가 없는 변수일 경우에 사용)

 

    [DisplayName("Display Name")   화면에 표시할 이름


 

 
   public class WATMan
    {
        private string s이름 = "홍길동";
        private int iAge = 20;
        private int iKor = 99;
        private int iEng = 98;

        [CategoryAttribute("프로필")   ]
        public int 나이
        {
            get { return iAge; }
            set { iAge = value; }
        }
        [CategoryAttribute("프로필")]
        public string 이름
        {
            get { return s이름; }
            set { s이름 = value; }
        }
        [CategoryAttribute("점수")]
        public int 국어
        {
            get { return iKor; }
            set { iKor = value; }
        }
        [CategoryAttribute("점수")]
        public int 영어
        {
            get { return iEng; }
            set { iEng = value; }
        }
        
    }
 
 

아래처럼 실행됩니다.   완성!!

watpropertygrid2.gif 

관련 문서가 검색되었습니다.
  1. [2018/02/26] List 에서 고유값 얻기 by WhiteAT ()
  2. [2016/09/24] XML 으로 환경설정 저장하기 ( \n,엔터값 포함, NewLine) by WhiteAT (9667)
  3. [2015/05/22] C#, 아두이노 간의 WIFI 통신으로 LCD 제어 by WhiteAT (4565)
  4. [2015/03/13] 항상 마지막에 추가한 TEXT 보이게 by WhiteAT ()
  5. [2014/01/17] ComboBox Text 편집 안되게 by WhiteAT (14490)
  6. [2014/01/08] if 문에서 여러개 비교할때 by WhiteAT (25339) *3
  7. [2013/12/30] C++, C# 간단한 기능 비교 by WhiteAT (12884)
  8. [2013/12/18] 3자리마다 ,(콤마) 찍기 (원화, 달러 표시) by WhiteAT (15224)
  9. [2013/09/29] 설치된 IE 버전 얻기 by WhiteAT (12397)
  10. [2013/08/29] byte array to Hexa String by WhiteAT (13026)