c#/Winform

[C#] Winform CheckBox, CheckedListBox item 추가, 전체선택, 전체해제

byH 2021. 12. 15. 10:33
728x90
반응형

한 개만 선택하는 CheckBox와 여러개를 선택하는 CheckedListBox에 대해서 알아보자

 

1. 일단 Form이 Load될 때 checkedlistbox에 item을 넣어보자

Form Load 함수는 폼의 상단을 더블클릭하면 자동으로 생성된다. 

   private void Form2_Load(object sender, EventArgs e)
        {
            checkedListBox1.Items.Add("삼겹살");
            checkedListBox1.Items.Add("항정살");
            checkedListBox1.Items.Add("목살");
            checkedListBox1.Items.Add("갈매기살");
        }

 

2. 전체선택/해제 

 

체크박스를 선택하면 전체 선택되고, 한 번 더 누르면 해제되는 것을 만들어보자 

일단 checkedlistbox의 모든 item의 check를 true로 만들어주는 함수를 만들었다.

 

    public void checkall()
        {
            for(int i =0; i<checkedListBox1.Items.Count; i++)
            {
                checkedListBox1.SetItemChecked(i, true);
            }
        }

다음으로는 checkedlistbox의 모든 item의 check를 false 로 만들어주는 함수를 만들었다.

    public void uncheckall()
        {
            for (int i = 0; i < checkedListBox1.Items.Count; i++)
            {
                checkedListBox1.SetItemChecked(i, false);
            }
        }

마지막으로 checkbox의 checkedchanged event함수에 체크박스의 체크가 트루면, checkall() 함수를 실행시키고, false면 uncheckall()함수를 실행시키도록 작성한다.

 

Checkbox에 chackedchange 이벤트 함수를 거는 방법은

체크박스 선택 후 속성 창에서 번개 모양 선택하고 checkedchanged를 찾아 더블클릭해준다.

그리고 만들어두었던 checkall(), uncheckall() 함수를 체크박스 상태에 따라 실행시켜준다. 

 private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked == true) checkall();
            else uncheckall();

        }

728x90
반응형