gpt4 book ai didi

c# - 我如何遍历我拥有的所有组合框控件并将每个组合框的项目添加到列表中?

转载 作者:太空宇宙 更新时间:2023-11-03 19:59:45 24 4
gpt4 key购买 nike

我试过了:

var comboBoxes = this.Controls
.OfType<ComboBox>()
.Where(x => x.Name.StartsWith("comboBox"));

foreach (var cmbBox in comboBoxes)
{
CMBXWMICLASSES.AddRange(cmbBox.Items[
}

但是在 foreach 循环中,我如何添加每个 ComboBox 的项目?

这是一个工作代码:

在 form1 的顶部我做了:

List<string> CMBXWMICLASSES = new List<string>();

然后我添加了一个递归处理所有控件及其子控件的方法:

public IEnumerable<Control> GetAll(Control control, Type type)
{
var controls = control.Controls.Cast<Control>();

return controls.SelectMany(ctrl => GetAll(ctrl, type))
.Concat(controls)
.Where(c => c.GetType() == type);
}

然后在构造函数中添加每个 ComboBox 中的项目:

var c = GetAll(this, typeof(ComboBox));
foreach (ComboBox cc in c)
{
foreach (string ccc in cc.Items)
{
CMBXWMICLASSES.Add(ccc);
}
}

最佳答案

试试这个,

         List<string> Items = new List<string>();
var comboBoxes = this.Controls
.OfType<ComboBox>()
.Where(x => x.Name.StartsWith("comboBox"));
foreach (var cmbBox in comboBoxes)
{
foreach (var cmbitem in cmbBox.Items)
{
Items.Add(cmbitem.ToString());
}
}

关于c# - 我如何遍历我拥有的所有组合框控件并将每个组合框的项目添加到列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29739672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com