所以我有一個組合框檢索將selectedItem組合框
cmbSpecifics1.Items.AddRange(typeof(Aggressive).GetEnumNames());
,我用枚舉
public enum Aggressive
{
Yes,
No,
Sometimes,
Only_when_hungry
}
如何取回它所選擇的值,並將其發送到財產填充?
public Aggressive RealAggressiveLevel
{
get { return _aggressive; }
set { _aggressive = value; }
}
Bee iBee = new Bee(animal);
iBee.RealAggressiveLevel = ???cmbSpecifics1.SelectedValue???
這是我如何來填充它:
lblSpecifics1.Text = "Aggressive:";
cmbSpecifics1.Items.Clear();
cmbSpecifics1.Items.AddRange(typeof(Aggressive).GetEnumNames());
這是我得到空裁判例外的
iBee.RealAggressiveLevel = (Aggressive)Enum.Parse(typeof(Aggressive), cmbSpecifics1.SelectedValue.ToString());
行這是怎麼了IM添加數據
_animal = ((AnimalType)lbCategory.SelectedIndex);
switch (_animal)
{
case AnimalType.Insect:
switch ((InsectTypes)lbAnimalObject.SelectedIndex)
{
case InsectTypes.Bee:
Bee iBee = new Bee(animal);
iBee.RealAggressiveLevel = (Aggressive)Enum.Parse(typeof(Aggressive), cmbSpecifics1.SelectedValue.ToString());
iBee.Worker = tbSpecific1.Text;
iBee.Color = tbSpecific2.Text;
animalManager.Add(iBee);
break;
提前乾杯
這是什麼環境?它是UWP,Windows窗體,WPF嗎? – kettch
Windows窗體,對不起,錯過了 – Noxious
這個解決方案只有在用戶界面中寫入實際的'enum'值文本(比如「Only_when_hungry」)時纔可以使用,而對於大多數應用程序來說並非如此,如果您必須使用多種語言。我通常會使用Item類來表示一個項目,並使用資源文件來使用ToString()來加載本地化的名稱,以獲得enum值的文本作爲資源中的關鍵字。我會進行一些單元測試,以確保我沒有缺失或額外的條目。 – Phil1970