C# C-无法在WinForms中执行列表框中的键值

C# C-无法在WinForms中执行列表框中的键值,c#,winforms,listbox,C#,Winforms,Listbox,我正在用WinForms中的列表框编写一个C应用程序 我从XML文件中获取数据id和全名。我想在列表框中显示全名,当我选择其中一个时,我想获得相关id 我尝试使用SelectedValue属性,但没有成功 我还尝试了KeyValuePair,它在列表框中显示[全名,id],这不是我想要的: LB_UserList.Items.Add(new KeyValuePair<string, string>(full_name, node["user_id"].InnerText)); 简而

我正在用WinForms中的列表框编写一个C应用程序

我从XML文件中获取数据id和全名。我想在列表框中显示全名,当我选择其中一个时,我想获得相关id

我尝试使用SelectedValue属性,但没有成功

我还尝试了KeyValuePair,它在列表框中显示[全名,id],这不是我想要的:

LB_UserList.Items.Add(new KeyValuePair<string, string>(full_name, node["user_id"].InnerText));
简而言之,如何用C模拟HTML选择?我想在列表框中显示全名,并在后端获取相关id。

为此使用c

Dictionary<string, string> list = new Dictionary<string, string>();
list.Add("item 1", "Item 1");
list.Add("item 2", "Item 2");
list.Add("item 3", "Item 3");
list.Add("item 4", "Item 4");

dropdown.DataSource = list;
dropdown.DataTextField = "Value";
dropdown.DataValueField = "Key";
dropdown.DataBind();

C中的ListBox中缺少DataTextField、DataValueField和DataBind。对于DataSource,我得到以下错误:复杂数据绑定接受IList或IListSource作为数据源。不过,感谢您的快速回复:可能重复的
listBox.DataSource = new BindingSource(list, null); 
listBox.ValueMember = "Key";
listBox.DisplayMember = "Value";