그림처럼 datagridvview와 button을 배치한 뒤
button의 속성을 datagridview에 뿌리고, 변경시 버튼에 적용되도록 하고싶습니다.
버튼의 속성값을 가지고있는 테이블이 있나요?
아니면 속성값을 가져오는 다른 방법이 있나요?
예시를 들어 설명 부탁드립니다.
안녕하세요?
1. dataGridView1, button1 두개를 이용해, 버튼이 가진 속성 목록을 그리드뷰에 뿌립니다.
2. 우선, 아래의 네임스페이스를 추가합니다.
using System.Reflection;
3. button1_Click 이벤트에 코드를 기술합니다.
private void button1_Click(object sender, EventArgs e)
{
// button1으로 부터 타입 정보를 구합니다.
Control button = button1 as Button;
Type controlType = button.GetType();
PropertyInfo[] propertyInfos = controlType.GetProperties();
// List<string> 클래스의 인스턴스를 얻어, 프로퍼티를 저장합니다.
// Sort, Reverse를 통해 오름차순/내림차순 정렬이 가능해집니다.
List<string> properties = new List<string>();
foreach (PropertyInfo propertyInfo in propertyInfos)
{
// propertyInfo에는 더 많은 정보가 있습니다.
properties.Add(propertyInfo.Name);
}
properties.Sort();
// 그리드를 비웁니다.
dataGridView1.AllowUserToAddRows = false; // 자동 줄 추가를 방지합니다.
dataGridView1.Rows.Clear();
dataGridView1.Columns.Clear();
// 그리드 제목을 표시합니다. ("필드명", "한글명")
dataGridView1.Columns.Add("Button", "속성");
dataGridView1.Columns["Button"].Width = 250;
// 그리드뷰에 속성이름을 표시합니다.
int rowIndex = 0;
foreach (string name in properties.ToArray())
{
dataGridView1.Rows.Add();
rowIndex = dataGridView1.Rows.Count - 1;
dataGridView1.Rows[rowIndex].Cells["Button"].Value = name;
}
}
리스트박스에서 그리드뷰로 수정하였습니다.
도움이 되시길 바랍니다.
감사합니다.
written by
legend
C과외/C#과외/VB과외 프로그래밍 과외.서울인천경기-방문강의.기타전국-화상강의.제대로 체계적으로 배우고싶은분들.15년경력 프리랜서.삼성/포스코/한진 등.
서울,인천,경기,분당,일산,과천,산본,부천,부평,평촌,안산,안양,광명,용인,시흥,성남,수원,평택,오산,화성,동탄,천안,아산,
c#프로그래밍1:1과외, 15년 이상 프로젝트 경력의 프리랜서 직접 강의,
c#프로그래밍 과외, c#프로그래밍교육, IT·컴퓨터·컴퓨터과외비·프로그래밍과외, c# 강좌, c# 프로그래밍,
데이터베이스, 데이터베이스 프로그래밍, db, DB, 과외비,컴퓨터1:1,컴퓨터개인지도,컴퓨터실무과외,컴퓨터과외,컴퓨터1:1과외,
서울,인천,경기,부천,안산,분당,일산,천안,과천,산본,안양,광명,평촌,수원,평택,오산,용인,부평,시흥,성남,화성,동탄
광주,부산,대구,대전,마산,창원,울산,전주,군산,원주,강릉,충청남도,충청북도,강원도,경상남도,경상북도,전라남도,전라북도,제주도
'좋은질문' 카테고리의 다른 글
C언어 실행에러, 논리에러 뜻 (0) | 2014.09.16 |
---|---|
C++ 369 게임만는거 설명좀요ㅠㅠ부탁드립니다 (0) | 2014.09.15 |
C언어 포인터 문제 몇가지만 질문 드릴게요 (0) | 2014.09.13 |
C# enum 질문 (0) | 2014.09.11 |
C# 클래스에서 Form의 컨트롤 값 받아오기 (0) | 2014.09.10 |