c# - 使用 win 表单组合框 Items.AddRange 方法

标签 c# .net winforms combobox addrange

我有一个对象数组,正在尝试使用 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/

相关文章:

c# - WPF DataGrid 行高

c# - Winforms Entity Framework

mysql - ListView vb net

c# - 如何在 C# 中连接整数和字符串?

c# - 使用 WebClient 下载时防止服务器以 gzip 编码

c# - Linq to Entities 左连接返回 0 条记录

c# - 如何在 MVC Web API 发布方法中将 ModelState 错误返回给 Kendo 网格?

c# - IIS 中单个网站配置的 ASP.net 应用程序的多个实例

c# - 如何在 WPF 中创建自适应布局?

c# - 用数据绑定(bind) DevExpress.XtraEditors.TextEdit 控件上的空字符串替换 '01-01-0001'