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

青春有我
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
您應(yīng)該將輸入解析回KnownColor
.?Color
然后您可以使用以下命令從該值創(chuàng)建一個(gè)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)注
- 162 瀏覽
添加回答
舉報(bào)
0/150
提交
取消