根据从组合框中选择的颜色更改背景颜色

时间:2015-06-15 08:50:19

标签: c# combobox background-color

在我的表格中,我有一个组合框。它有颜色名称,如红色,黄色等。

当我点击按钮时,我想更改我的表单的背景颜色以匹配从组合框中选择的颜色。到目前为止,我有这个:

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始终设置为蓝色。我在这里做错了什么?

2 个答案:

答案 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();