The object is to get selected radio button’s text in windows app using C#. It can be done in many ways. Suppose you have one group box having radio-buttons. You have to show selected radio button’s text on OK button click.
Method 1(Traditional Approach):
1. Write following code:
String selectedText; private void radioButton_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) selectedText = ((RadioButton)sender).Text; } private void buttonOK_Click(object sender, EventArgs e) { MessageBox.Show(selectedText,"Selected Item"); }
2. Now, for each radio button, Goto properties > events > give radioButton_CheckedChanged method name in CheckedChanged event and save it.
3. When you run app, select any option, radioButton_CheckedChanged is fired and text is stored in the variable and it is displayed in messagebox on button click.
I don’t like 2 step. Suppose you have many radio buttons then it is time consuming to set event for all. So, I prefer second method.
Method II:
In this method, I created a method GetSelectedRadioButtonText which accepts groupbox as a parameter and returns selected radio button’s text.
private string GetSelectedRadioButtonText(GroupBox grb) { return grb.Controls.OfType<RadioButton>().SingleOrDefault(rad => rad.Checked == true).Text; } private void buttonOK_Click(object sender, EventArgs e) { MessageBox.Show(GetSelectedRadioButtonText(groupBox1), "Selected Item"); }
Hope, It helps.
Many many thx. Especially Method II is BEST.
Thank you very much. I searched this solution a long time…
Can anyone send me a code to generate dynamic radio buttons on page load and get the selected dynamic radio button value on the button click in c#
Thank you…..