C#在ComboBox的文本字段中显示对象的ID,并在下拉列表中显示对象描述

时间:2017-08-04 20:10:03

标签: c# combobox

我想在组合框的文本字段中显示我的对象的Id。当我点击时,我希望列表显示对象的描述。

这就是我得到的

What I have

这就是我想要看的内容

What I need

我需要这样做,因为我想输入要加载数据的对象的Id,我不希望用户按描述进行搜索。

我尝试使用DisplayMemberValueMember这样的属性:

ComboBox1.ValueMember = "Id";
ComboBox1.DisplayMember = "Name";

但只显示下拉列表中的描述并返回Id作为值,我想在Text属性中显示Id。我尝试使用事件SelectIndexChangedSelectedValueChangedSelectionChangeCommitted并将Text属性更改为Id,但它只将Text更改为Id,然后将其更改回Description。这是我尝试在事件中触发的代码:

ComboBox1.Text = ComboBox1.SelectedValue.ToString();

就像我说的,它将文本更改为“Id”(因为值是Id),但将其更改回“名称”。

1 个答案:

答案 0 :(得分:1)

嘿所以你要求的东西不是直接可能的,但这是一个让它发挥作用的技巧。首先创建一个这样的类:

公共类ComboBoxItem

{{1}}

然后,继续使用它:

{{1}}

希望有所帮助!