![](/img/trans.png)
[英]C# - If A Radiobutton Selected In GroupBox, Unselect Other Radiobuttons In Other GroupBoxes
[英]Retrieving a radiobutton label and name from the only radiobuttons checked in several groupboxes
我有幾個分組框,groupbox1 groupbox2 groupbox3,每個都有幾個單選按鈕。 我想列出在各個組框內選中的單選按鈕的列表,並帶有單選按鈕名稱和文本標簽。 經過研究,我嘗試了以下方法
private void button15_Click(object sender, EventArgs e)
{
var checkedRadio = new[] { groupBox1, groupBox2, groupBox3 }
.SelectMany(g => g.Controls.OfType<System.Windows.Forms.RadioButton>
().Where(r => r.Checked));
//print name
foreach (var r in checkedRadio)
{
MessageBox.Show(r.Text, r.Name);
}
}
但是,當我按下button15選擇單選按鈕后,什么也沒有發生。 (我不確定所有參數,請在此處編程新手,因此深受歡迎的答案將非常受歡迎)
這是一個有效的示例。 在groupBox1.Controls中,您具有元素列表,並通過迭代它們並獲取其Checked狀態,可以將它們添加到列表中。 希望這可以幫助!
private void button1_Click(object sender, EventArgs e)
{
List<Control> checkedRB = new List<Control>();
foreach (RadioButton rb in groupBox1.Controls)
{
if (rb.Checked)
checkedRB.Add(rb);
}
foreach (RadioButton rb in groupBox2.Controls)
{
if (rb.Checked)
checkedRB.Add(rb);
}
foreach (Control ctrl in checkedRB)
Console.WriteLine(ctrl.Name);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.