让我们想象一下,我有几个不同的盒子,每个盒子有多个RadioButtons
。当用户从box1,box 2,box3等中选择RadioButton
时,RadioButtons
上会输入所有TextBox
中的所选值。例如。在框2中选择的框2中选择了24,在框3中选择了20 - 它应该给出以下内容:A 24 20或A - 24 - 20.我已尝试使用以下代码为每个RadioButton
但它只进入当时一个RadioButton
的值。提前谢谢
if (RadioButton1.Checked) //If checked == true
{
textBox1.Text = "12";
//example
}
答案 0 :(得分:1)
您可以通过以下方式获取所有选中的单选按钮的文本:
var radios = this.Controls.OfType<GroupBox>()
.SelectMany(x => x.Controls.OfType<RadioButton>())
.Where(x => x.Checked == true)
.Select(x => x.Text);
this.textBoxText1.Text = string.Join("-", radios);
如果不需要返回结果的顺序,您可以使用TabIndex
根据Name
或this.Controls.OfType<GroupBox>().OrderBy(x=>x.TabIndex)
等属性对组框进行排序,然后结果将按所需顺序排列。
答案 1 :(得分:0)
不只是设置.Text
的{{1}}属性,只需使用TextBox
运算符将字符串连接到它。
示例:
+=