C#颜色传值类型不对

来源:百度知道 编辑:UC知道 时间:2024/06/15 20:04:30
public void forecolorset()
{
if (comboBox1.Text = 红)
f2.ForeColor = Color.Red;
else if (comboBox1.SelectedItem = "蓝")
f2.ForeColor = Color.Blue;
else if (comboBox1.SelectedItem = "黄")
f2.ForeColor = Color.Yellow;
}
public void backcolorset()
{
if (comboBox2.SelectedItem = "红")
f2.BackColor = Color.Red;
else if (comboBox2.SelectedItem = "蓝")
f2.BackColor = Color.Blue;
else if (comboBox2.SelectedItem = "黄")
f2.BackColor = Color.Yellow;
}
现在下面总是出错。。。。说:
错误 2 无法将类型“object”隐式转换为“bool”。存在一个显式转换(是否缺少强制转换?) D:\c#\VC#\005\005\Form1.cs 40 22 005
请教大虾们!!!急!

你有俩点错误
第一点
comboBox2.SelectedItem 属于object类型,和String类型比较要转化为String,
comboBox2.SelectedItem.ToString()
或者利用
comboBox2.SelectedItem.Equals()
第二点
=是赋值符号,比较符号是俩等号 ==

修改;

if (comboBox2.SelectedItem = "红")
f2.BackColor = Color.Red;
改为
if (comboBox2.SelectedItem.ToString() == "红")
f2.BackColor = Color.Red;
或者
if (comboBox2.SelectedItem.Equals("红"))
f2.BackColor = Color.Red;

comboBox1.Text = 红
这个也不对,Text首先能修改,不等同于选择的值,判断符号为 ==,红 是字符串,应该用双引号

if (comboBox1.Text = 红)
改为
if (comboBox1.Text == "红")

comboBox1.SelectedItem
改为
comboBox1.SelectedItem.Text

同样,下面的也得改成这样

comboBox2.SelectedItem 这是对象 而非String
comboBox2.SelectedItem = "红") ==是等于 =是赋值