ComboBox.Items [i]的ValueMember使用WinForms c#

Som*_*ody 0 c# combobox winforms

我使用下面的代码填写一个ComboBox:

cbxLines.DisplayMember = "Value";
cbxLines.ValueMember = "Key";
cbxLines.DataSource = new BindingSource(GetProductionLines(), null);

private Dictionary<int, string> GetProductionLines()
Run Code Online (Sandbox Code Playgroud)

现在我想用DisplayMemberComboBox中的每一个填充ListView 以及其他信息:

lvSelectedSetup.Items.Clear();
for (int i = 0; i <= cbxLines.Items.Count - 1; i++)
{
     ListViewItem item = new ListViewItem();
     item.SubItems.Add(cbxLines.Items[i].ToString());  <-- How to Get DisplayMember
     item.SubItems.Add(cbxFromDate.Text);
     item.SubItems.Add(cbxToDate.Text);
     lvSelectedSetup.Items.Add(item);
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何从ComboBox 获取ValueMemberDisplayMember从ComboBox获取.

我正在尝试执行以下操作,但卡住了:

item.SubItems.Add(cbxLines.Items[i].GetType().GetProperty(cbxLines.ValueMember).GetValue(cbxLines,null))
Run Code Online (Sandbox Code Playgroud)

任何建议?

Jac*_*nev 5

获取键/值对中的键.

   ((KeyValuePair<int, string>)cbxLines.Items[i]).Key
Run Code Online (Sandbox Code Playgroud)

获取键/值对中的值.

((KeyValuePair<int, string>)cbxLines.Items[i]).Value
Run Code Online (Sandbox Code Playgroud)