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

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

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

最佳答案

您可以使用Color.FromName

this.BackColor = Color.FromName(comboBox_color.SelectedItem.ToString());



  如果name参数不是预定义颜色的有效名称,则FromName方法将创建一个Color结构,该结构的ARGB值为0(即,所有ARGB分量均为0)。

10-02 20:26