所以我有两个分组框,我想要的是从两个分组框中获取所选的单选按钮值。
如果它只是一个文本框,你可以去:
thisValue = textbox1.text
但我不知道怎么做单选按钮
答案 0 :(得分:2)
要从单选按钮中获取值(假设您需要值,而不是文本),您将获得Checked
属性:
bool isChecked = radioButton1.Checked;
GroupBox
中的单选按钮之间没有基于代码的关系(除了单选按钮的行为方式,以便一次只检查同一容器中的一个单选按钮);您的代码需要跟踪检查哪一个。
执行此操作的最简单方法可能是使组框内的单选按钮全部触发CheckedChanged
事件的同一事件侦听器。如果您可以检查sender
参数,以跟踪当前选择的那个参数。
示例:
private enum SearchMode
{
TitleOnly,
TitleAndBody,
SomeOtherWay
}
private SearchMode _selectedSearchMode;
private void SearchModeRadioButtons_CheckedChanged(object sender, EventArgs e)
{
RadioButton rb = (RadioButton)sender;
if (rb.Checked)
{
if (rb == _radioButtonTitleOnly)
{
_selectedSearchMode = SearchMode.TitleOnly;
}
else if (rb == _radioButtonTitleAndBody)
{
_selectedSearchMode = SearchMode.TitleAndBody;
}
else
{
// and so on
}
}
}
答案 1 :(得分:0)
这是WindowsForms Linq的例子 如果它不能正常工作你会得到这个想法
RadioButton rb = null;
RadioButton checkedRB = groupBox1.Controls.FirstOrDefault(
c => (rb = c as RadioButton) != null && rb.Checked) as RadioButton;
if (checkedRB != null)
{
this.Text = checkedRB.Text;
}
答案 2 :(得分:0)
引用相同的点击事件触发器
private void rb_Click(object sender, EventArgs e) {
thisValue = ((RadioButton)sender).Text;
}