在我的表格中,我有一个组合框。它有颜色名称,如红色,黄色等。
当我点击按钮时,我想更改我的表单的背景颜色以匹配从组合框中选择的颜色。到目前为止,我有这个:
private void button_Pass_Click(object sender, EventArgs e)
{
if (comboBox_color.SelectedText == "Red")
{
this.BackColor = System.Drawing.Color.Red;
}
else if (comboBox_color.SelectedText == "Yellow")
{
this.BackColor = System.Drawing.Color.Yellow;
}
else
{
this.BackColor = System.Drawing.Color.Blue;
}
}
单击按钮时,表单的BackColor始终设置为蓝色。我在这里做错了什么?
答案 0 :(得分:1)
您可以使用Color.FromName
this.BackColor = Color.FromName(comboBox_color.SelectedItem.ToString());
如果name参数不是预定义颜色的有效名称,则FromName方法会创建一个ARGB值为0的Color结构(即所有ARGB组件都为0)。
答案 1 :(得分:1)
问题是您要比较的ComboBox的属性。
SelectedText属性用于获取或设置在ComboBox的可编辑部分中选择的文本。
SelectedItem属性用于获取或设置ComboBox中的选定项。如果您想显示所选项目的文本,您可以这样做:
comboBox_color.SelectedItem.ToString();