我只是一个正在学习如何编码的普通人。我不喜欢代码看起来很草率并且可以合并。话虽这么说,我需要合并一些代码,但我未能找到有关如何执行此操作的信息。
我正在尝试根据组合框选择启用/禁用多个文本框。
这是我试图整合的又长又丑的代码
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
int Combobox_Process_Selected_Index = comboBox2.SelectedIndex;
if (Combobox_Process_Selected_Index == 0)
{
textBox2.Enabled = false;
textBox3.Enabled = false;
textBox4.Enabled = false;
textBox5.Enabled = false;
textBox6.Enabled = false;
textBox7.Enabled = false;
textBox8.Enabled = false;
textBox9.Enabled = false;
textBox10.Enabled = false;
textBox11.Enabled = false;
textBox12.Enabled = false;
textBox13.Enabled = false;
}
if (Combobox_Process_Selected_Index == 1)
{
textBox2.Enabled = true;
textBox3.Enabled = false;
textBox4.Enabled = false;
textBox5.Enabled = false;
textBox6.Enabled = false;
textBox7.Enabled = false;
textBox8.Enabled = false;
textBox9.Enabled = false;
textBox10.Enabled = false;
textBox11.Enabled = false;
textBox12.Enabled = false;
textBox13.Enabled = false;
}
if (Combobox_Process_Selected_Index == 2)
{
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = false;
textBox5.Enabled = false;
textBox6.Enabled = false;
textBox7.Enabled = false;
textBox8.Enabled = false;
textBox9.Enabled = false;
textBox10.Enabled = false;
textBox11.Enabled = false;
textBox12.Enabled = false;
textBox13.Enabled = false;
}
if (Combobox_Process_Selected_Index == 3)
{
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = false;
textBox6.Enabled = false;
textBox7.Enabled = false;
textBox8.Enabled = false;
textBox9.Enabled = false;
textBox10.Enabled = false;
textBox11.Enabled = false;
textBox12.Enabled = false;
textBox13.Enabled = false;
}
if (Combobox_Process_Selected_Index == 4)
{
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = false;
textBox7.Enabled = false;
textBox8.Enabled = false;
textBox9.Enabled = false;
textBox10.Enabled = false;
textBox11.Enabled = false;
textBox12.Enabled = false;
textBox13.Enabled = false;
}
if (Combobox_Process_Selected_Index == 5)
{
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = true;
textBox7.Enabled = false;
textBox8.Enabled = false;
textBox9.Enabled = false;
textBox10.Enabled = false;
textBox11.Enabled = false;
textBox12.Enabled = false;
textBox13.Enabled = false;
}
if (Combobox_Process_Selected_Index == 6)
{
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = true;
textBox7.Enabled = true;
textBox8.Enabled = false;
textBox9.Enabled = false;
textBox10.Enabled = false;
textBox11.Enabled = false;
textBox12.Enabled = false;
textBox13.Enabled = false;
}
if (Combobox_Process_Selected_Index == 7)
{
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = true;
textBox7.Enabled = true;
textBox8.Enabled = true;
textBox9.Enabled = false;
textBox10.Enabled = false;
textBox11.Enabled = false;
textBox12.Enabled = false;
textBox13.Enabled = false;
}
if (Combobox_Process_Selected_Index == 8)
{
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = true;
textBox7.Enabled = true;
textBox8.Enabled = true;
textBox9.Enabled = true;
textBox10.Enabled = false;
textBox11.Enabled = false;
textBox12.Enabled = false;
textBox13.Enabled = false;
}
if (Combobox_Process_Selected_Index == 9)
{
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = true;
textBox7.Enabled = true;
textBox8.Enabled = true;
textBox9.Enabled = true;
textBox10.Enabled = true;
textBox11.Enabled = false;
textBox12.Enabled = false;
textBox13.Enabled = false;
}
if (Combobox_Process_Selected_Index == 10)
{
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = true;
textBox7.Enabled = true;
textBox8.Enabled = true;
textBox9.Enabled = true;
textBox10.Enabled = true;
textBox11.Enabled = true;
textBox12.Enabled = false;
textBox13.Enabled = false;
}
if (Combobox_Process_Selected_Index == 11)
{
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = true;
textBox7.Enabled = true;
textBox8.Enabled = true;
textBox9.Enabled = true;
textBox10.Enabled = true;
textBox11.Enabled = true;
textBox12.Enabled = true;
textBox13.Enabled = false;
}
if (Combobox_Process_Selected_Index == 12)
{
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = true;
textBox7.Enabled = true;
textBox8.Enabled = true;
textBox9.Enabled = true;
textBox10.Enabled = true;
textBox11.Enabled = true;
textBox12.Enabled = true;
textBox13.Enabled = true;
}
}
好吧,我只想说非常感谢h8red https://stackoverflow.com/users/2559094/h8red。我从大量的垃圾代码变成了不到 10 行代码。
这是通过将文本框放置在面板中然后根据组合框用户输入启用/禁用它们而得到的代码合并。
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
//set a counter to track textbox number and compare with combobox selection
int countTB = 0;
//grab combobox selection and place as an integer
int Combobox_Process_Selected_Index = comboBox2.SelectedIndex;
//this looks at each child control in my panel (named panel1)
foreach (Control child in panel1.Controls)
{
//this looks at each textbox individually and enables them until combo selection is reached and disables the rest
TextBox textBox = child as TextBox;
if (countTB < Combobox_Process_Selected_Index)
{
textBox.Enabled = true;
}
else
textBox.Enabled = false;
countTB++;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)