Ich habe eine WinForms-Anwendung. Ich habe meine ComboBox mit folgendem Code gefüllt:
%Vor%Die letzte Zeile hat jedoch absolut keine Wirkung. Die ComboBox erscheint ohne ausgewählte Elemente.
Also habe ich ein paar Fehler gemacht und einige seltsame Dinge bemerkt. Das folgende Bild stammt vom Überwachungsfenster, nachdem cboGridSize.SelectedIndex
auf 0 gesetzt wurde.
Überwachungsfenster http://www.softcircuits.com/Client/debugwin.jpg
Obwohl die Eigenschaft SelectedItem
genau das enthält, was ich erwarten würde, ist SelectedValue
immer noch null
. Obwohl die Dokumentation für SelectedValue
pathetisch ist, habe ich verstanden, dass sie den Wert des ausgewählten Elements ( SelectedItem
) enthalten würde. Stattdessen scheinen die beiden Eigenschaften völlig unabhängig voneinander zu sein. Kann jemand sehen, was ich falsch mache?
Wie Sie sehen können, habe ich die Eigenschaft ValueMember
festgelegt. Und die Eigenschaft DropDownStyle
wird auf DropDownList
gesetzt.
BEARBEITEN:
Nachdem mir Nikolay Khil das Thema hier klar gemacht hat (warum die Docs für SelectedValue
mir nicht entgehen), beschloss ich, einfach meinen eigenen Code zu schreiben, um die gleiche Aufgabe zu erfüllen. Ich poste es hier, falls jemand interessiert ist.
Dies wird als eine Erweiterungsmethode implementiert, also ändere ich einfach meinen ursprünglichen Code wie folgt:
%Vor% Sowohl ValueMember
als auch DisplayMember
Eigenschaften werden nur verwendet, wenn DataSource
Eigenschaft ist definiert.
Sie sollten Ihren Code also wie folgt neu schreiben:
%Vor%Links:
Ich weiß, das ist eine alte Frage, aber ich bin gerade auf dieses Problem gestoßen. Ich habe Folgendes gelöst - es ist ein bisschen hacky, aber es funktioniert:
%Vor%Hoffe das hilft jemandem.