【问题标题】:Retrieving a radiobutton label and name from the only radiobuttons checked in several groupboxes从几个组框中选中的唯一单选按钮中检索单选按钮标签和名称
【发布时间】:2014-08-24 23:32:17
【问题描述】:

我有几个组框,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 选择单选按钮后,什么也没有发生。 (我不确定所有参数,这里是编程新手,所以非常欢迎深入的回答)

【问题讨论】:

    标签: c# radio-button var groupbox


    【解决方案1】:

    这是一个有效的例子。在 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);
        }
    

    【讨论】:

      猜你喜欢
      • 2011-10-04
      • 2012-10-16
      • 2019-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      相关资源
      最近更新 更多