SelectedItem kann nicht auf WinForms Combobox mit DataSource festgelegt werden
Posted: 25 Feb 2025, 20:00
Ich habe den folgenden Code, um ein Combobox < /p>
zu generieren
Wenn ich jedoch den Combobox annehme, trotz ausgewählter Typ hat der Wert, den ich erwarten würde, hat der Combobox das erste Element ausgewählt. Außerdem wurde mir aufgefallen, dass, wenn ich versuche, Combob ox1.selectedIndex zu verwenden, alle Werte einen IndexoutOfRangeException . und stattdessen die Elemente Eigenschaft bevölkern, funktioniert sie gut:
und den DisplayValue auf irgendetwas nicht festlegen kann.
zu generieren
Code: Select all
BindingList types = new([typeof(Foo), typeof(Bar)]);
Type? selectedType = types.SingleOrDefault(t => t.Name == "Bar");
ComboBox comboBox1 = new()
{
DataSource = types,
DisplayMember = nameof(Type.Name),
DropDownStyle = ComboBoxStyle.DropDownList,
SelectedItem = selectedType
};
Code: Select all
BindingList strings = new(new string[] { "Foo", "Bar"}.ToList());
ComboBox comboBox1 = new()
{
DropDownStyle = ComboBoxStyle.DropDownList,
};
comboBox1.Items.AddRange(strings.ToArray());
comboBox1.SelectedItem = "Bar";
< /code>
Ist dies eine Einschränkung der WinForms, oder mache ich etwas falsch? hat aber keine Antwort, die für mich funktioniert, da ich den DisplayName