안녕하세요. 언제나 휴일에 언휴예요.
이번 강의는 CheckBox 실습이예요.
1. 컨트롤 배치 2. 이벤트 핸들러 등록하기 3. 소스 코드 구현하기 4. 전체 소스 코드
1. 컨트롤 배치
위 그림 처럼 4 개의 CheckBox와 1개의 Label, 1개의 Button, 1개의 GroupBox를 배치하고 속성 창에서 Name을 설정하세요.
2. 이벤트 핸들러 등록하기
폼의 Load 이벤트 핸들러를 등록하세요.
위 쪽 두 개의 CheckBox의 CheckedChanged 이벤트 핸들러를 등록하세요.
버튼의 Click 이벤트 핸들러를 등록하세요.
3. 소스 코드 구현하기
폼의 Load 이벤트 핸들러에서는 CheckBox 상태를 표시할 lb_mag의 Text를 초기화할 거예요.
CheckBox 상태가 바뀔 때도 lb_msg의 Text를 변경해야 하므로 별도의 메서드(SettingStates)를 만들어서 호출하게 구현합시다.
private void Form1_Load(object sender, EventArgs e) { SettingStates(); }
SettingStates 메서드에서는 위 쪽 두 개의 체크 박스(cbox_hascar, cbox_haseh)의 체크 상태를 확인합니다. 이 때 사용하는 속성이 Checked입니다.
그리고 이 값으로 lb_msg의 Text 속성을 설정합니다.
private void SettingStates() { bool hcar = cbox_hascar.Checked; bool heh = cbox_haseh.Checked; lb_msg.Text = string.Format("자동차 소유:{0} 행복 소유:{1}", hcar, heh); }
두 개의 체크 박스(cbox_hascar, cbox_haseh)의 CheckedChanged 이벤트 핸들러에서도 SettingStates를 호출합니다.
private void cbox_hascar_CheckedChanged(object sender, EventArgs e) { SettingStates(); } private void cbox_haseh_CheckedChanged(object sender, EventArgs e) { SettingStates(); }
마지막으로 btn_set의 Click 이벤트 핸들러를 구현합시다.
아래 두 개의 체크 박스의 Checked 속성으로 위 두 개의 체크 박스 Checked 속성을 설정합니다.
private void btn_set_Click(object sender, EventArgs e) { cbox_hascar.Checked = cbox_hascar2.Checked; cbox_haseh.Checked = cbox_haseh2.Checked; }
이처럼 CheckBox 컨트롤에서 제일 중요한 속성은 Checked라고 할 수 있어요.
4. 전체 소스 코드
using System; using System.Windows.Forms; namespace CheckBox_상태_확인_및_설정하기 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { SettingStates(); } private void SettingStates() { bool hcar = cbox_hascar.Checked; bool heh = cbox_haseh.Checked; lb_msg.Text = string.Format("자동차 소유:{0} 행복 소유:{1}", hcar, heh); } private void cbox_hascar_CheckedChanged(object sender, EventArgs e) { SettingStates(); } private void cbox_haseh_CheckedChanged(object sender, EventArgs e) { SettingStates(); } private void btn_set_Click(object sender, EventArgs e) { cbox_hascar.Checked = cbox_hascar2.Checked; cbox_haseh.Checked = cbox_haseh2.Checked; } } }