Aktualnie pracuję nad aplikacją C#.Wyliczenia i pola kombi w języku C#
Potrzebuję użyć wyliczenia z polem kombi, aby uzyskać wybrany miesiąc. Mam następujący stworzyć ENUM:
enum Months
{
January = 1,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
};
I wtedy inicjalizacja combobox przy użyciu następujących:
cboMonthFrom.Items.AddRange(Enum.GetNames(typeof(Months)));
Ten fragment kodu działa w porządku, jednak problem jest gdy próbuję dostać wybrany enum wartość dla wybranego miesiąca
uzyskać wartość numeratora z pola kombi Użyłem następujący:
private void cboMonthFrom_SelectedIndexChanged(object sender, EventArgs)
{
Months selectedMonth = (Months)cboMonthFrom.SelectedItem;
Console.WriteLine("Selected Month: " + (int)selectedMonth);
}
Jednak, gdy próbuję uruchomić powyższy kod, pojawia się komunikat o błędzie: Wystąpił wyjątek pierwszej szansy typu System.InvalidCastException
.
Co zrobiłem źle.
Dzięki za wszelką pomoc można zapewnić
Doskonała że pracował idealnie. Dziękuję – Boardy
Nie jest konieczne umieszczanie ciągów znaków w polu kombi, a następnie przetwarzanie ich z powrotem do wartości 'Months'. Po prostu przechowuj wartości 'Months'. – Timwi
Nie należy przechowywać wartości łańcuchów w polu kombi i pobierać ich jako wyliczenia. Musisz dodać wartości wyliczeniowe jako element pola kombi LUB uzyskać je jako ciąg i przekonwertować do wyliczenia. Dlatego zasugerowałem zrobienie tego drugiego. – SadullahCeran