Ich entwickle gerade eine C # -Anwendung.
Ich muss eine Enumeration mit einem Kombinationsfeld verwenden, um den ausgewählten Monat zu erhalten. Ich habe Folgendes, um die enum zu erstellen:
%Vor%Ich initialisiere dann die Combobox wie folgt:
%Vor%Dieses Bit Code funktioniert gut, aber das Problem ist, wenn ich versuche, den ausgewählten Enum-Wert für den ausgewählten Monat zu erhalten
Um den Wert des Enumerators aus dem Kombinationsfeld zu erhalten, habe ich Folgendes verwendet:
%Vor% Wenn ich jedoch versuche, den obigen Code auszuführen, erscheint ein Fehler, der besagt, dass eine Ausnahme der ersten Chance vom Typ System.InvalidCastException
aufgetreten ist.
Was ich falsch gemacht habe.
Danke für jede Hilfe, die Sie zur Verfügung stellen können
Versuchen Sie es
%Vor%statt
%Vor%Aktualisiert mit korrekten Änderungen
Das Problem besteht darin, dass Sie die Combobox mit String-Namen füllen ( Enum.GetNames
returns string[]
) und später versuchen, sie in Ihre enum zu konvertieren. Eine mögliche Lösung könnte sein:
Ich würde auch überlegen, vorhandene Monatsinformationen von .Net zu verwenden, anstatt Ihre enum hinzuzufügen:
%Vor%Sie haben die Namen der Monate in der Combobox gespeichert, nicht die int-Werte. Ihr ausgewähltes Element ist eine Zeichenfolge.