在发布此问题之前,我认为这是一个简单的问题,我搜索答案并没有找到合适的解决方案。设置ComboBox按键不是按值选择项c#
在我的日常工作,我与Web应用程序的工作,并可以很容易地获取或设置
我不能做相同的Windows应用程序C#dropdownlists值
我有组合框和阶级的ComboItem
public class ComboItem
{
public int Key { get; set; }
public string Value { get; set; }
public ComboItem(int key, string value)
{
Key = key; Value = value;
}
public override string ToString()
{
return Value;
}
}
说该组合框是通过硬编码绑定和的值是
- 重点:1 /值:男性
键:2 /价值:女
键:3 /值:未知
可以说,我有钥匙= 3,我想通过代码 设置这个项目(其关键是3),所以当表单被加载时,默认选择的值将是未知的。
combobox1.selectedValue =3 //Not Working , selectedValue used to return an object
combobox1.selectedIndex = 2 //Working as 2 is the index of key 3/Unknown
但让我说我不知道索引,我怎么得到的项目的索引,其中的关键= 3?
指数可在这样
int index = combobox1.FindString("Unknown") //will return 2
查找字符串取一个值不是关键,通过价值的东西,我需要像查找字符串内搭键和返回指数
注: 这里是如何我结合我的下拉菜单
JsonSerializerSettings jsonSerializerSettings = new JsonSerializerSettings();
jsonSerializerSettings.MissingMemberHandling = MissingMemberHandling.Ignore;
var empResult= await response.Content.ReadAsStringAsync();
List<Emp> Emps= JsonConvert.DeserializeObject<Emp[]>(empResult, jsonSerializerSettings).ToList();
foreach (var item in Emps)
{
ComboItem CI = new ComboItem(int.Parse(item.ID), item.Name);
combobox1.Items.Add(CI);
}
this.combobox1.DisplayMember = "Value";
this.combobox1.ValueMember = "Key";
Windows Forms? WPF?要么 ? –
Windows窗体C# – Bassem