c#颜色与string之间如何转换(所有分数全部附上)

cj548820 2010-02-11 09:56:32
              Color color1 = this.label1.ForeColor;
string MyColor = ColorTranslator.ToHtml(color1);
lable2.ForeColor = System.Drawing.Color.FromName(MyColor);

这个是我的转换方法,提取lable1的颜色并转换成string格式保存,再将这个颜色赋值给lable2...但是这个方法有的颜色转换成string格式后,就不能逆向转换,也就是不能转换给lable2。。谁能告诉我怎么办?或者谁有更好的办法来实现颜色跟string之间的转换。。。
...全文
732 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
hh252438823 2010-06-15
  • 打赏
  • 举报
回复
学习了,很有帮助
hetan3011 2010-04-21
  • 打赏
  • 举报
回复
16进制的颜色
string str="#ff6600";
lable.forecolor=System.Drawing.Color.FromName(str);
以上的能实现,希望能对大家有所帮助。查了半天资料才明白的。
kensouterry 2010-02-12
  • 打赏
  • 举报
回复
Namespace: System.Drawing
Assembly: System.Drawing (in system.drawing.dll)


你需要添加一个dll引用,然后直接使用System.Drawing.Color,使用Color结构体代替字符串保存你需要保存的颜色,然后赋值到Label2的时候就:
Color blue=Color.Blue;
label2.XXX.Color=blue;//这行就可以给XXX的颜色改变
wuyq11 2010-02-11
  • 打赏
  • 举报
回复
Public ForeColor As System.Drawing.Color = ColorTranslator.FromHtml("")
转成10进制
然后用 Color.FromArgb
Color yourColor = Color.FromName("");

string s= "";
ColorConverter cc = new ColorConverter();
textBox1.BackColor = (Color)cc.ConvertFromString(s);
cwblaze 2010-02-11
  • 打赏
  • 举报
回复
引用 2 楼 lzsh0622 的回复:
C# codestring color1=this.label1.ForeColor.ToArgb().ToString();
label2.ForeColor= System.Drawing.Color.FromArgb(Convert.ToInt32(color1));


2楼的思路很正确
soaringbird 2010-02-11
  • 打赏
  • 举报
回复
可以呀
回复内容太短了!
geniusatm4 2010-02-11
  • 打赏
  • 举报
回复
楼上正解。。。或者存个RGB~
lzsh0622 2010-02-11
  • 打赏
  • 举报
回复

string color1 = this.label1.ForeColor.ToArgb().ToString();
label2.ForeColor = System.Drawing.Color.FromArgb(Convert.ToInt32(color1));
RexZheng 2010-02-11
  • 打赏
  • 举报
回复
ColorTranslator.FromHtml(MyColor);
ckl881003 2010-02-11
  • 打赏
  • 举报
回复
Color color1 = this.label1.ForeColor;
//string MyColor = ColorTranslator.ToHtml(color1);
lable2.ForeColor = color1;

为什么不这么写?
qyc_lulu 2010-02-11
  • 打赏
  • 举报
回复
顶顶顶顶顶!!!!!!!!!!!!!!!!!!!
zg110909 2010-02-11
  • 打赏
  • 举报
回复
我是菜鸟,不懂,来学习的
zg110909 2010-02-11
  • 打赏
  • 举报
回复
为什么不能
lable2.ForeColor = this.label1.ForeColor;
直接赋值呢?
~天行健 2010-02-11
  • 打赏
  • 举报
回复
引用 2 楼 lzsh0622 的回复:
C# codestring color1=this.label1.ForeColor.ToArgb().ToString();
label2.ForeColor= System.Drawing.Color.FromArgb(Convert.ToInt32(color1));


110,577

社区成员

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

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

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