繁体   English   中英

单击随机单选按钮c#

[英]Click a random radiobutton c#

如果单击button3,则应单击11个单选按钮之一。 该程序有效,但是我想知道是否有任何更短的输入方式。

我想知道,因为如果我想用例如50个单选按钮来完成此操作,那将是一个漫长的过程。

    private void button1_Click(object sender, EventArgs e)
    {
        Random RandomRadioButton = new Random();
        int Simuleer = RandomRadioButton.Next(0, 12);

        if (Simuleer == 0) { radioButton0.PerformClick(); }
        if (Simuleer == 1) { radioButton1.PerformClick(); }
        if (Simuleer == 2) { radioButton2.PerformClick(); }
        if (Simuleer == 3) { radioButton3.PerformClick(); }
        if (Simuleer == 4) { radioButton4.PerformClick(); }
        if (Simuleer == 5) { radioButton5.PerformClick(); }
        if (Simuleer == 6) { radioButton6.PerformClick(); }
        if (Simuleer == 7) { radioButton7.PerformClick(); }
        if (Simuleer == 8) { radioButton8.PerformClick(); }
        if (Simuleer == 9) { radioButton9.PerformClick(); }
        if (Simuleer == 10) { radioButton10.PerformClick(); }
        if (Simuleer == 11) { radioButton11.PerformClick(); }
    }

如果这是WinForms尝试以下操作:

string name = string.Format("radioButton{0}", Simuleer);
this.Controls/* or container that groups thease radio buttons */
             .OfType<RadioButton>().FirstOrDefault(ctrl => ctrl.Name == name).PerformClick();

这有点长,但是将来该代码将易于维护。

RadioButtonListSeparate Radio buttons进行比较。

        protected void Button1_Click(object sender, EventArgs e)
        {
            Random random = new Random();

            var radioButtonNumber = random.Next(RadioButtonList1.Items.Count);

            RadioButtonList1.SelectedIndex = radioButtonNumber;

            RadioButtonListClick(radioButtonNumber);

        }

        private void RadioButtonListClick(int number)
        {
            switch (number)
            {
                case 0:
                    // Call the function realted to radio button 0 in your case.
                    break;
                    .
                    .
                    .

            }
        }

注意:这将确保在编译时此代码在运行时不会失败。 与确保radiobutton ID应该相同,如果找不到相同的ID相比,它将抛出运行时错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM