我想在组合框的文本字段中显示我的对象的Id。当我点击时,我希望列表显示对象的描述。
这就是我得到的
这就是我想要看的内容
我需要这样做,因为我想输入要加载数据的对象的Id,我不希望用户按描述进行搜索。
我尝试使用DisplayMember
和ValueMember
这样的属性:
ComboBox1.ValueMember = "Id";
ComboBox1.DisplayMember = "Name";
但只显示下拉列表中的描述并返回Id作为值,我想在Text属性中显示Id。我尝试使用事件SelectIndexChanged
,SelectedValueChanged
,SelectionChangeCommitted
并将Text属性更改为Id,但它只将Text更改为Id,然后将其更改回Description。这是我尝试在事件中触发的代码:
ComboBox1.Text = ComboBox1.SelectedValue.ToString();
就像我说的,它将文本更改为“Id”(因为值是Id),但将其更改回“名称”。
答案 0 :(得分:1)
嘿所以你要求的东西不是直接可能的,但这是一个让它发挥作用的技巧。首先创建一个这样的类:
公共类ComboBoxItem
{{1}}
然后,继续使用它:
{{1}}
希望有所帮助!