以简洁的方式将 Item 添加到 ComboBox
Add Item to ComboBox with a neat way
触发事件后,我想在 WinForm 的 ComboBox 中添加更多项目。
下面是我的示例代码,一点都不整洁,而且违反了DRY(don't repeat yourself)原则。我是一个寻求简洁代码的新手。请帮帮我。
Combobox1.Items.Add("aaa")
Combobox2.Items.Add("aaa")
....
Combobox50.Items.Add("aaa")
如您所见,如果只需要将 5 到 10 个项目添加到组合框,我就可以这样做。如果有 50 个呢?我想 select 某些组合框向其添加项目。
我想找到一个更好的方法来做到这一点,不要重复上面的例程太多时间。请帮我写一个更整洁的代码。谢谢!!!
更好用DataGridView
。
DataGridView
其实还有一个DataGridViewComboBoxColumn
假设您的组合框在 container1
中(例如它可以是一个 groupBox),您可以这样做:
foreach(ComboBox cbx in container1)
{
cbx.Items.Add("aaa");
}
这是您可以尝试的方法:
foreach(ComboBox cb in controlpanel1)
{
foreach(items a in ListItems)
{
cb.Items.Add(a);
}
}
就是这样。希望这对你有帮助
如果表单或网页上有 50 个组合框,那么首先您需要从用户的角度重新设计 UI - 它可能涉及太多信息,一个人无法理解随时接受。
如果它是一系列控件,那么您最好将所有组合框添加到一个面板,然后对其进行迭代。
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");
触发事件后,我想在 WinForm 的 ComboBox 中添加更多项目。
下面是我的示例代码,一点都不整洁,而且违反了DRY(don't repeat yourself)原则。我是一个寻求简洁代码的新手。请帮帮我。
Combobox1.Items.Add("aaa")
Combobox2.Items.Add("aaa")
....
Combobox50.Items.Add("aaa")
如您所见,如果只需要将 5 到 10 个项目添加到组合框,我就可以这样做。如果有 50 个呢?我想 select 某些组合框向其添加项目。
我想找到一个更好的方法来做到这一点,不要重复上面的例程太多时间。请帮我写一个更整洁的代码。谢谢!!!
更好用DataGridView
。
DataGridView
其实还有一个DataGridViewComboBoxColumn
假设您的组合框在 container1
中(例如它可以是一个 groupBox),您可以这样做:
foreach(ComboBox cbx in container1)
{
cbx.Items.Add("aaa");
}
这是您可以尝试的方法:
foreach(ComboBox cb in controlpanel1)
{
foreach(items a in ListItems)
{
cb.Items.Add(a);
}
}
就是这样。希望这对你有帮助
如果表单或网页上有 50 个组合框,那么首先您需要从用户的角度重新设计 UI - 它可能涉及太多信息,一个人无法理解随时接受。
如果它是一系列控件,那么您最好将所有组合框添加到一个面板,然后对其进行迭代。
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");