触发事件后,我想在WinForm的ComboBox中添加更多项目。
以下是我的示例代码,它根本不整齐,我也违反了DRY(不要重复自己)原则。我是一个新手,寻求一个整洁的代码。请帮帮我。
Combobox1.Items.Add("aaa")
Combobox2.Items.Add("aaa")
....
Combobox50.Items.Add("aaa")
如您所见,如果只需要将5到10个项目添加到Combobox中,我就可以执行此操作。如果有50个怎么办?我想选择某些组合框来添加项目。
我想找到一个更好的方法来做这件事,不要重复上述例程太多时间。请帮我一个更简洁的代码。感谢!!!
答案 0 :(得分:0)
答案 1 :(得分:0)
假设您的组合框位于container1
(例如,它可以是一个groupBox),您可以执行以下操作:
foreach(ComboBox cbx in container1)
{
cbx.Items.Add("aaa");
}
答案 2 :(得分:0)
这是你可以尝试的:
foreach(ComboBox cb in controlpanel1)
{
foreach(items a in ListItems)
{
cb.Items.Add(a);
}
}
就是这样。希望这会对你有所帮助
答案 3 :(得分:0)
如果您在表单或网页上有50个组合框,那么首先您需要从用户的角度来看重新设计您的用户界面 - 它可能涉及太多信息供一个人接受在任何时候。
如果选择了一些控件,那么最好将所有组合框添加到面板中,然后对其进行迭代。
foreach(var cb in this.panelName.Controls.OfType<ComboBox>())
cb.Items.Add("aaa");
如果它的所有组合框都可以使用this.Controls
,但是这不会检查子控制(即在面板内)。为此,您可以使用an answer given by Jon Skeet
foreach(var cb in this.GetAll<ComboBox>())
cb.Items.Add("aaa");