我正在构建一个C#窗体,它显示一个列表框,其中包含一些可供用户选择的项目。该选择将确定查询的条件。查询将返回2个字段,ID和描述。我想在表单的第二个列表框中显示说明,但如果在列表框中选择了该说明,则使用ID进行后续处理。
以下是我正在尝试做的更多细节:
ListBox1
Accessories
Men's
Women's
Children
当用户选择“Accesories”时,查询运行并返回:
1234 Belts
2345 Scarves
4566 Handbags
ListBox2显示说明
Belts
Scarves
Handbags
但是当用户双击Belts时,我想在类实例中的字段中添加1234。我应该将查询结果放入什么样的列表中,以便我可以使用它将项目添加到我的列表框中并仍然能够知道ID?
谢谢! 莱斯利
答案 0 :(得分:2)
WinForms和WPF都非常灵活。只需将Accessory对象添加到Items属性即可。或者将DataSource设置为现有列表。
默认显示是ToString()
,但您可以将DisplayMember设置为特定属性的名称。
您可以通过SelectedItem获取整个对象。和/或设置ValueMember并读取SelectedValue。
答案 1 :(得分:2)
在.NET列表框中,项目列表不仅仅是字符串列表,而是对象。组件将使用对象的字符串值进行显示,但是当您查看所选值时,可以引用该ID。
如此定义一个类
class Choices
{
public string Name;
public int ID;
public override string ToString()
{
return name;
}
}
使用此类的实例填充列表,您应该很高兴。