我有一个对象数组,正在尝试使用 AddRange 方法将其添加到组合框控件的 Items 集合中。该方法采用 object[]
但当我向它传递已使用某些值初始化的数组的名称时,它会提示:
The best overloaded method match for
System.Windows.Forms.ComboBox.ObjectCollection.AddRange(object[])
has some invalid arguments.
定义数组中对象的类非常简单:
public class Action
{
public string name;
public int value;
public override string ToString()
{
return name;
}
}
and my array is declared such:
public Action[] actions = new Action[] {
new Action() { name = "foo", value = 1 },
new Action() { name = "bar", value = 2 },
new Action() { name = "foobar", value = 3 }
};
这是我尝试调用AddRange
的地方:
combobox1.Items.AddRange(actions);
这就是它提示的那句话 - 我是否缺少一些步骤来做到这一点?当我只是添加一个简单的 string[]
最佳答案
我在 .NET C# 测试项目中进行了尝试,如下所示,效果很好。 示例代码如下:
public partial class Form1 : Form
{
public Action[] actions = new Action[]
{
new Action() { name = "foo", value = 1 },
new Action() { name = "bar", value = 2 },
new Action() { name = "foobar", value = 3 }
};
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Items.AddRange(actions);
}
}
public class Action
{
public string name;
public int value;
public override string ToString()
{
return name;
}
}
因此您需要告诉我们您在哪里声明了 actions 对象。
关于c# - 使用 win 表单组合框 Items.AddRange 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1315222/