我正在編寫允許用戶選擇頁面背景顏色(下拉列表)的代碼,問題是我從庫 System.Drawing 中獲取了已知顏色,但我不知道如何從列表中獲取該值。我怎樣才能做到呢?protected void Page_Load(對象發(fā)送者, EventArgs e) { if (!IsPostBack) { string[] colorArray = Enum.GetNames(typeof(KnownColor)); drpBack.DataSource = colorArray; drpBack.DataBind();}// 頁面加載,其中我獲取了顏色名稱;//這里是按鈕更新protected void btnUpdate_Click(object sender, EventArgs e){ string back = drpBack.Text; Color style = (Color)Enum.Parse(typeof(Color), back); pnlCard.BackColor = style;}當我單擊按鈕更新時,它給我錯誤:提供的類型必須是枚舉。我嘗試寫而不是 Color - KnownColor 它給了我消息:無法隱式地將類型“KnownColor”轉(zhuǎn)換為“Color”
1 回答

青春有我
TA貢獻1784條經(jīng)驗 獲得超8個贊
您應該將輸入解析回KnownColor
.?Color
然后您可以使用以下命令從該值創(chuàng)建一個Color.FromKnownColor()
:
protected void btnUpdate_Click(object sender, EventArgs e){
? ? ? ? string back = drpBack.Text;
? ? ? ? var parsedColor = (KnownColor)Enum.Parse(typeof(KnownColor), back);
? ? ? ? var style = Color.FromKnownColor(parsedColor);
? ? ? ? pnlCard.BackColor = style;
}
- 1 回答
- 0 關(guān)注
- 141 瀏覽
添加回答
舉報
0/150
提交
取消