我目前正在開發一個C#應用程序。C中的枚舉和組合框#
我需要使用帶組合框的枚舉來獲取選定的月份。我有以下創建枚舉:
enum Months
{
January = 1,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
};
我然後使用初始化組合框以下:
cboMonthFrom.Items.AddRange(Enum.GetNames(typeof(Months)));
這段代碼工作正常,但問題是,當我試圖讓所選擇的枚舉所選月份
值來獲取值從我使用了下列組合框枚舉:
private void cboMonthFrom_SelectedIndexChanged(object sender, EventArgs)
{
Months selectedMonth = (Months)cboMonthFrom.SelectedItem;
Console.WriteLine("Selected Month: " + (int)selectedMonth);
}
但是,當我嘗試運行上面的代碼時,它出現了一個錯誤,指出發生了System.InvalidCastException
類型的第一次機會異常。
我做錯了什麼。
感謝您的幫助,您可以提供
優秀,完美的工作。謝謝 – Boardy 2011-02-26 20:06:48
沒有必要將字符串放入組合框,然後將它們解析回'Months'值。只需存儲'Months'值。 – Timwi 2013-12-16 07:14:38
您不應該將字符串值存儲到組合框並將其作爲枚舉檢索。你必須添加枚舉值作爲組合框項目或讓他們作爲字符串和轉換爲枚舉。這就是爲什麼我建議去做後者。 – SadullahCeran 2014-07-19 16:09:51