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