c#

[c#] RadioButton

byH 2021. 12. 14. 14:29
728x90
반응형

라디오 버튼은 여러가지 선택지 중에 한 개만 선택할 때 사용한다.

(여러가지를 선택하려면 CheckedListBox)

 

라디오버튼에 Group을 주지 않으면 폼 안에 있는 모든 라디오 버튼중 한 개만 선택할 수 있다.

그룹끼리 핸들링이 필요하다면, GroupBox 안에 넣어 사용해야 한다.

라디오 버튼의 체크 상태를 변경하는 방법은 Checked 속성을 이용하면 된다.

Form이 Load될 때 radio 버튼 checked 속성을 설정해 준다고 하면 다음과 같이 실행된다. 

private void Form1_Load(object sender, EventArgs e)
{
    radioButton3.Checked = true;
    radioButton5.Checked = true;
}

 

여기서 button 1을 누르면 과일은 체리에 꼬기는 항정살에 checked 상태를 변경해보자 

 private void button1_Click(object sender, EventArgs e)
        {
            radioButton4.Checked = true;
            radioButton7.Checked = true;
        }

CheckedChanged 이벤트 함수를 통해 체크상태가 변경될때마다 text를 받아 richtextbox에 담아보자 

 

 

1) 먼저 체크 되어있는 함수의 text를 받아 richtextbox에 담는 이벤트 함수를 하나 맏는다.

 public void appendrdbText(object sender, EventArgs e)
        {
            string text = "";
            if (radioButton1.Checked) text = radioButton1.Text + "를 선택함";
            else if (radioButton2.Checked) text = radioButton2.Text + "를 선택함";
            else if (radioButton3.Checked) text = radioButton3.Text + "를 선택함";
            else if (radioButton4.Checked) text = radioButton3.Text + "를 선택함";


            richTextBox1.AppendText("\n");
            richTextBox1.AppendText(text);
        }

 //만약 라디오버튼1이 체크가 되어있으면 라디오버튼1의 text값 + "를 선택함" 이라는 string을 text라는 변수에 담는다.

//만약 라디오버튼2가 ~ 만약 라디오버튼4가

 

 

해당 함수를 radiobutton 1 부터 4까지 CheckedChanged 이벤트 함수를 걸어주는데, 방법 두 가지를 설명하려고 한다.

1) 라디오버튼 누르고 속성창에서 번개모양을 누른 후 CheckedChanged를 찾아 더블클릭해준다.

그러면 함수가 자동으로 생성된다. 

그럼 해당 함수에서 appendrdbtext 함수를 실행시키면 된다.

 

 public void appendrdbText(object sender, EventArgs e)
        {
            string text = "";
            if (radioButton1.Checked) text = radioButton1.Text + "를 선택함";
            else if (radioButton2.Checked) text = radioButton2.Text + "를 선택함";
            else if (radioButton3.Checked) text = radioButton3.Text + "를 선택함";
            else if (radioButton4.Checked) text = radioButton3.Text + "를 선택함";


            richTextBox1.AppendText("\n");
            richTextBox1.AppendText(text);
        }

        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            appendrdbText(sender, e);
        }

 

두 번째는 속성에서 더블클릭이 아닌 함수 리스트에서 함수를 골라 바로 설정해주는 것이다.

728x90
반응형

'c#' 카테고리의 다른 글

DevExpress ComboBoxEdit 콤보 박스  (1) 2024.04.08