Sto creando una combobox da di KeyValuePair<int, string>
. Fino ad ora ha funzionato molto bene nell'offrire all'utente il nome descrittivo mentre mi restituiva un id numerico.
Tuttavia, qualunque cosa provi, non sono in grado di scegliere il valore inizialmente selezionato.Scelta del valore inizialmente selezionato per un ComboBox con un elenco di KeyValuePair come DataSource
public StartUpForm()
{
InitializeComponent();
FlowLayoutPanel flowLayout = new FlowLayoutPanel(); //This is necessary to protect the table, which is for some reason collapsing...
flowLayout.FlowDirection = FlowDirection.TopDown;
flowLayout.AutoSize = true;
flowLayout.AutoSizeMode = AutoSizeMode.GrowAndShrink;
var comboBox = new ComboBox();
{
var choices = new List<KeyValuePair<int, string>>();
choices.Add(new KeyValuePair<int, string>(1, "hello"));
choices.Add(new KeyValuePair<int, string>(2, "world"));
comboBox.DataSource = choices;
comboBox.ValueMember = "Key";
comboBox.DisplayMember = "Value";
flowLayout.Controls.Add(comboBox);
}
Controls.Add(flowLayout);
//None of these work:
comboBox.SelectedValue = 2;
comboBox.SelectedValue = 2.ToString();
comboBox.SelectedValue = new KeyValuePair<int, string>(2, "world");
comboBox.SelectedValue = "world";
comboBox.SelectedItem = 2;
comboBox.SelectedItem = 2.ToString();
comboBox.SelectedItem = new KeyValuePair<int, string>(2, "world");
comboBox.SelectedItem = "world";
return;
}
il risultato è sempre lo stesso:
Come posso scegliere il valore inizialmente selezionato in una ComboBox
utilizzando come DataSource un List<KeyValuePair<int, string>>
?
Fantastico, funziona! Grazie! Una domanda: come si dovrebbe sapere questo? – Antonio
@Antonio ha avuto lo stesso problema. . . anni e anni fa. – LarsTech