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

本文关键字:颜色 背景色 选择 组合 | 更新日期: 2023-09-27 17:56:08

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

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

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;
    }
}

当我单击该按钮时,窗体的背景色始终设置为蓝色。我在这里做错了什么?

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

您可以使用

Color.FromName

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

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

问题在于您正在比较的组合框的属性。

属性用于获取或设置在组合框的可编辑部分中选定的文本。

属性用于获取或设置组合框中的选定项。如果要为该选定项目显示文本,可以这样做:

comboBox_color.SelectedItem.ToString();