用于查找值的类是什么?

时间:2013-07-07 20:43:06

标签: c# winforms list

我正在构建一个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?

谢谢! 莱斯利

2 个答案:

答案 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;
   }
}

使用此类的实例填充列表,您应该很高兴。