라디오 버튼은 여러가지 선택지 중에 한 개만 선택할 때 사용한다.
(여러가지를 선택하려면 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);
}
두 번째는 속성에서 더블클릭이 아닌 함수 리스트에서 함수를 골라 바로 설정해주는 것이다.
'c#' 카테고리의 다른 글
DevExpress ComboBoxEdit 콤보 박스 (1) | 2024.04.08 |
---|