Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将列表填充到组合框_C#_List - Fatal编程技术网

C# 如何将列表填充到组合框

C# 如何将列表填充到组合框,c#,list,C#,List,我已经在这个RPG windows窗体游戏上工作了一段时间,并且我已经在这些列表上停留了很长时间。现在我有一个HeadItems.cs,其中保存了所有head items的实体,我正在创建一个列表,以填充到一个组合框中,用户可以在其中切换设备。我在HeadItems中创建了一个列表,在列表的主屏幕上创建了一个静态只读列表,并添加了一个带有多个参数的项目。当我使用“cboHeadItems.Items.Add(Headitem[0];”添加一个项时,我认为这将采用第一个参数,即字符串名称,并将其填

我已经在这个RPG windows窗体游戏上工作了一段时间,并且我已经在这些列表上停留了很长时间。现在我有一个HeadItems.cs,其中保存了所有head items的实体,我正在创建一个列表,以填充到一个组合框中,用户可以在其中切换设备。我在HeadItems中创建了一个列表,在列表的主屏幕上创建了一个静态只读列表,并添加了一个带有多个参数的项目。当我使用“cboHeadItems.Items.Add(Headitem[0];”添加一个项时,我认为这将采用第一个参数,即字符串名称,并将其填充到组合框中

public HomeScreen()
        {
            InitializeComponent();
            SetLabels();
            Headitem.Add(new HeadItems("Kyle's Head", 0, 0, 3, 0, 0, 1));

            foreach (HeadItems headitem in Headitem)
            {
                cboHeads.Items.Add(Headitem[0]);
            }
        }
这是我的HeadItems实体:

namespace Engine
{
public class HeadItems
{
    public string Name { get; set; }
    public int ID { get; set; }
    public int Ilvl { get; set; }
    public int Strength { get; set; }
    public int Agility { get; set; }
    public int Intelligence { get; set; }
    public int Stamina { get; set; }
    List<HeadItems> Headitem { get; set; }

    public HeadItems(string name, int id, int ilvl, int strength, int agility, int intelligence,
        int stamina)
    {
        Name = name;
        ID = id;
        Ilvl = ilvl;
        Strength = strength;
        Agility = agility;
        Intelligence = intelligence;
        Stamina = stamina;

        Headitem = new List<HeadItems>();
    }
}
}
名称空间引擎
{
公共类标题项目
{
公共字符串名称{get;set;}
公共int ID{get;set;}
公共int Ilvl{get;set;}
公共整数强度{get;set;}
公共属性{get;set;}
公共int智能{get;set;}
公共int耐力{get;set;}
列表标题项{get;set;}
公共标题项(字符串名称、整数id、整数ilvl、整数强度、整数敏捷性、整数智能、,
智力(耐力)
{
名称=名称;
ID=ID;
Ilvl=Ilvl;
力量=力量;
敏捷=敏捷;
智力=智力;
耐力=耐力;
Headitem=新列表();
}
}
}

您没有在foreach循环中使用变量

尝试:

还有其他问题,您正在HeatItem类的构造函数中实例化一个新集合。有很多方法可以实现它,但为了简单起见,我将删除:

List<HeadItems> Headitem { get; set; }
列出标题项{get;set;}
从您的班级中选择并执行以下操作:

public HomeScreen()
{
        InitializeComponent();
        SetLabels();
        List<HeadItems> headItems = new List<HeadItems>();
        headItems.Add(new HeadItems("Kyle's Head", 0, 0, 3, 0, 0, 1));

        foreach (HeadItems headItem in headItems)
        {
            cboHeads.Items.Add(headItem.Name);
        }
    }
公共主屏幕()
{
初始化组件();
SetLabels();
列表标题项=新列表();
添加(新的标题(“凯尔的标题”,0,0,3,0,0,1));
foreach(标题项目中的标题项目)
{
cboHeads.Items.Add(headItem.Name);
}
}

也许您可以尝试绑定列表来控制ad数据源。请看示例

  public class myItem
    {
        public string ItemName { get; set; }
        public object Value { get; set; }
    }

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            List<myItem> s = new List<myItem>();
            s.Add(new myItem()
            {
                ItemName = "ItemA",
                Value = (object)"BB"
            });


            comboBox1.DataSource = s;
            comboBox1.DisplayMember = "ItemName";
            comboBox1.ValueMember = "Value";
        }
    }
公共类myItem
{
公共字符串ItemName{get;set;}
公共对象值{get;set;}
}
公共部分类Form1:Form
{
公共表格1()
{
初始化组件();
列表s=新列表();
s、 添加(新的myItem()
{
ItemName=“ItemA”,
值=(对象)“BB”
});
comboBox1.DataSource=s;
comboBox1.DisplayMember=“ItemName”;
comboBox1.ValueMember=“Value”;
}
}

检查DisplayMember属性。什么是框架?WPF、WinForms、XNA?您可以使用ObserableCollection吗?
  public class myItem
    {
        public string ItemName { get; set; }
        public object Value { get; set; }
    }

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            List<myItem> s = new List<myItem>();
            s.Add(new myItem()
            {
                ItemName = "ItemA",
                Value = (object)"BB"
            });


            comboBox1.DataSource = s;
            comboBox1.DisplayMember = "ItemName";
            comboBox1.ValueMember = "Value";
        }
    }