C#TextboX内容颜色用if else怎么写 5

我重新在textbox里面的brushes的属性里面换了别的颜色然后又换回黑色,程序就变正常了,好奇怪,总之,很谢谢各位的帮忙^_^... 我重新在textbox里面的brushes的属性里面换了别的颜色然后又换回黑色,程序就变正常了,好奇怪,总之,很谢谢各位的帮忙^_^ 展开
 我来答
百度网友d242235
2013-04-09 · TA获得超过2385个赞
知道大有可为答主
回答量:1403
采纳率:84%
帮助的人:822万
展开全部
如果是WinForm控件的textbox,那就有ForeColor,没有Foreground,如果是wpf控件的textbox,情况正好相反。所以你的TextBox应该是wpf控件,wpf控件的Foreground属性是一个System.Windows.Media.SolidColorBrush对象,你这里的if判断里的Brushes.Black有可能是System.Drawing.Color对象,所以会报异常。
解决办法是把Brushes.Black定为wpf的SolidColorBrush对象:
if (textBox1.Foreground==System.Windows.Media.Brushes.Black)
{
……
}
追问
谢谢,是C#里面WPF控件没错,可是我改成你这样结果还是执行else后面的语句,好奇怪,是不是我的软件有问题啊
追答
不会啊,我试过一个测试程序,确实会正常执行的。

if(tbxEdit.Foreground==Brushes.Black)
{
//……
}
else
{
//……
}
我这个程序代码会进入if分支,如果你的不行,可以检查一下这个textbox有没有被设置样式,有的话删掉;然后检查一下它的引用,有没有在别的地方设置过它的Foreground属性。
272003447
2013-04-09
知道答主
回答量:9
采纳率:0%
帮助的人:3.6万
展开全部
if (textBox1.ForeColor == Color.Black)
{

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-08
展开全部
if (textBox1.Foreground==System.Drawing.Color.Black) {
New_Black.IsEnabled = false;
New_Black.IsChecked = true;
}
else{
New_Red.IsEnabled = false;
New_Red.IsChecked = true;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
庐藏半仙
2013-04-08
知道答主
回答量:30
采纳率:0%
帮助的人:15万
展开全部
if (Flag)
{
Textbox.ForeColor = Color.Lime;
Textbox.Text = "√正确";
}
else
{
Textbox.ForeColor = Color.Red;
Textbox.Text = "×错误";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式