![](/img/trans.png)
[英]C# Dynamic RadioButton in Update Panel is not firing on first click?
[英]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();
這有點長,但是將來該代碼將易於維護。
將RadioButtonList
與Separate 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.