C# stroke颜色问题

binglingwo1987 2011-10-13 10:28:08
运行程序出现如下错误,“无法将类型“System.Drawing.Color”隐式转换为“System.Windows.Media.Color””双击这句话是“CurrentStroke.DrawingAttributes.Color = m_PenColor;”出错,请问原因是什么?如何修改呢?
...全文
344 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
binglingwo1987 2011-10-16
  • 打赏
  • 举报
回复
这个好了,新的问题出现了,我接着继续努力了!谢谢各位的帮忙啊!!!
binglingwo1987 2011-10-16
  • 打赏
  • 举报
回复
我试下
classbob 2011-10-16
  • 打赏
  • 举报
回复
抛出异常的时候检查一下哪个变量为空吧
binglingwo1987 2011-10-16
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 classbob 的回复:]
引用 9 楼 binglingwo1987 的回复:

不是啊
private System.Drawing.Color m_PenColor = System.Drawing.Color.Black;//默认笔的颜色
有默认值,这样不就可以了嘛?

前面你用的不是color吗,这里是m_PenColor的定义啊
[/Quote]
那个不是问题,我真正的程序上是一致的
classbob 2011-10-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 binglingwo1987 的回复:]

不是啊
private System.Drawing.Color m_PenColor = System.Drawing.Color.Black;//默认笔的颜色
有默认值,这样不就可以了嘛?
[/Quote]
前面你用的不是color吗,这里是m_PenColor的定义啊
binglingwo1987 2011-10-16
  • 打赏
  • 举报
回复
不是啊
private System.Drawing.Color m_PenColor = System.Drawing.Color.Black;//默认笔的颜色
有默认值,这样不就可以了嘛?
classbob 2011-10-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 binglingwo1987 的回复:]

引用 6 楼 binglingwo1987 的回复:
System.Windows.Media.Color clr = System.Windows.Media.Color.FromArgb(color.A, color.R, color.G, color.B);
用了它为什么会有"未对对象引用设置到对象实例"呢?

CurrentStroke.DrawingAttributes.Co……
[/Quote]
你的color是空吧,赋个值先
binglingwo1987 2011-10-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 binglingwo1987 的回复:]
System.Windows.Media.Color clr = System.Windows.Media.Color.FromArgb(color.A, color.R, color.G, color.B);
用了它为什么会有"未对对象引用设置到对象实例"呢?
[/Quote]
CurrentStroke.DrawingAttributes.Color = clr;丢了这句话了,有这句才又得那个错误
binglingwo1987 2011-10-16
  • 打赏
  • 举报
回复
System.Windows.Media.Color clr = System.Windows.Media.Color.FromArgb(color.A, color.R, color.G, color.B);
用了它为什么会有"未对对象引用设置到对象实例"呢?
classbob 2011-10-16
  • 打赏
  • 举报
回复
System.Windows.Media.Color color = System.Windows.Media.Colors.Black;
binglingwo1987 2011-10-16
  • 打赏
  • 举报
回复
System.Windows.Media.Color怎么设置颜色啊?比如System.Drawing.Color color=System.Drawing.Color.Black;设置成黑色,若是用System.Windows.Media.Color怎么设置成黑色啊?
Bullatus 2011-10-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 classbob 的回复:]

不存在类型转换,最好直接用System.Windows.Media.Color,如果非要用System.Drawing.Color,可以这样
System.Drawing.Color color = new System.Drawing.Color();

System.Windows.Media.Color clr = System.Win……
[/Quote]
System.Windows.Media.Color是WPF默认的颜色类型,
而System.Drawing.Color则是WinForm的默认颜色类型。
可以像classbob那样进行重新构建
classbob 2011-10-13
  • 打赏
  • 举报
回复
不存在类型转换,最好直接用System.Windows.Media.Color,如果非要用System.Drawing.Color,可以这样
System.Drawing.Color color = new System.Drawing.Color();

System.Windows.Media.Color clr = System.Windows.Media.Color.FromArgb(color.A, color.R, color.G, color.B);
Herbert 2011-10-13
  • 打赏
  • 举报
回复
在 m_PenColor 上 转到定义 将类型改为 System.Windows.Media.Color m_PenColor = ..;

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧