我正在编写允许用户选择页面背景颜色(下拉列表)的代码,问题是我从库 System.Drawing 中获取了已知颜色,但我不知道如何从列表中获取该值。我怎样才能做到呢?protected void Page_Load(对象发送者, 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”转换为“Color”
1 回答
青春有我
TA贡献1784条经验 获得超8个赞
您应该将输入解析回KnownColor
. Color
然后您可以使用以下命令从该值创建一个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 关注
- 80 浏览
添加回答
举报
0/150
提交
取消