C#/윈폼

C# 윈폼 컨트롤 다루기

doridam 2023. 7. 12. 17:58


1. Control

윈폼에는 여러가지의 컨트롤 객체가 있다. 이 컨트롤 객체는 기본적으로 .NET framework에서 제공한다.
여러가지 컨트롤를 다루어 보며 윈폼에 익숙해 진다.

 

2. CheckBox 컨트롤

CheckBox 컨트롤은 체크상자와 레이블로 이루어져 있다. 이 컨트롤에서 가장 많이 쓰는 속성은 Checked로서 True나 False로 지정할 수 있다. 또다른 속성으로써 Checked, Unchecked, Intermediate 3가지의  CheckState 속성을 가질 수 있다. 이중 Intermediate는 부분적으로 선택된 경우를 뜻한다.

체크 박스를 사진의 형태로 배치하였다.

이벤트 수신 동의가 체크될때 문자, 이메일 체크박스가 같이 체크 되도록 구현한 예제이다.

이처럼 이벤트 수신 동의가 체크 될때 하위 두개의 체크박스가 동시에 체크 되는것을 확인 할 수 있다.

3. CheckedListBox 컨트롤

CheckedListBox 컨트롤의 경우 여러개의 CheckBox들이 ListBox 안에 들어있는 형태를 가진다. 
Items Collection을 통해 여러개의 item으로 데이터를 설정하거나 가변적인 데이터를 넣기 위해 데이터 바인딩을 사용할 수 있다.

도구 상자에서 CheckedListBox를 Form으로 드래그 앤 드랍 한 후 해당 요소에 좌클릭을 하면 항목 편집이 나온다.

 

컬렉션 편집기에서 문자열 한줄이 아이템이 된다. 작성 후 확인을 누르면 이와 같이 리스트 형태의 CheckBox가 생긴다. 해당 item들은 index로 구분하게 된다.

해당 예제는 선택된 item을 메시지박스로 출력하는 예제이다.

4. ComboBox 컨트롤

ComboBox 컨트롤은 여러개의 아이템 중 하나를 고를때 사용한다. 해당 컨트롤은 3가지의 형태가 있다.
1. Simple : 입력창과 선택창이 동시에 출력된다.
2. DropDown : 선택창을 누르면 여러개의 리스트가 나오고 검색도 가능하다.
3. DropDownList : 검색은 불가하고 누르면 리스트가 나온다.

ComboBox를 드래그 앤 드랍 한다. 형태는 좌측부터 Simple, DropDown, DropDownList 이다.

 

형태를 변경하고자 한다면 해당 요소를 클릭 후 속성에서 DropDownStyle에서 지정한다. 데이터 입력은 이전과 동일하게 요소의 좌클릭 후 항목 편집을 선택한다.

 

형태는 좌측부터 Simple, DropDown, DropDownList 이다.

5. DateTimePicker 컨트롤

DateTimePicker 컨트롤은 날짜를 선택하는 용도로 사용된다. 달력을 보여주고 날짜를 선택할 수 있다.
포맷은 4가지가 있으며 Long, Short, Time, Custom등이 있다.

 

 

도구 상자에서 DateTimePicker를 드래그 앤 드랍한다. 순서로는 위에서 부터 Long, Short, Time, Custom 순이며
Custom의 경우 yyyy-MM-dd hh:mm 으로 지정했다.

 

 

해당 예제는 DateTimePicker 중 첫번째에서 달력 > 날짜를 클릭했을때 DateTime으로 저장하고 MessageBox로 선택한 날짜를 출력하는 예제이다.

 

7월 14일을 선택했을때 해당 하는 날짜가 메시지박스로 출력되는 것을 확인 했다.

 

6. Label 컨트롤

Lable 컨트롤은 Static 문자열을 화면에 표시하는 역할을 한다. 디폴트값으로 AutoSize가 true인 상태이며 이는 문자열의 길이 만큼 Label 컨트롤의 사이즈를 자동으로 조정한다. 

 

두개의 Label 중 상단의 Lable은 AutoSize가 False 이고, 하단의 Lable은 AutoSize가 true 이다.

 

 

해당 예제는 label을 클릭시 label의 바탕화면의 색이 변하도록 구현한 예제이다.

7. LinkLabel 컨트롤

LinkLabel 컨트롤은 Label 컨트롤과 비슷하지만 링크를 가진다는 점에서 다르다. 사용자가 링크를 클릭하면 브라우져나 메시지 박스를 띄우는 등의 행동을 할 수 있다.

LinkLabel를 드래그 앤 드랍 후 해당 요소를 더블클릭하여 소스로 이동한다.
LinkLabel을 클릭했을때 MessageBox가 출력되도록 구현한 예제이다.

8. ListBox 컨트롤

ListBox 컨트롤은 박스 내부에 선택가능한 옵션을 표시하는 컨트롤으로 옵션이 많은 경우 스크롤을 사용할 수 있다.
또한 SelectIndex를 선택하여 초기값을 지정할 수 있다.

해당 예제는 ListBox와 Label 을 통해 작성한 예제이다.
먼저 ListBox에 값을 셋팅한뒤 기본으로 0번 인덱스를 선택시킨다.
후에 List 박스의 값을 클릭하여 값이 변할 경우 해당 값을 Label에 업데이트 시키는 예제이다.

좌측은 초기값이며, 우측에 일일 회원을 선택했을때 label이 정상적으로 변경되는것을 볼 수 있다.