自定义颜色与系统已定义的颜色

MCOP_Jacob 2010-04-30 03:22:20
我把 Mycolor = colorDialog1.Colorn.Name 保存到数据库里,然后用label1.BackColor = System.Drawing.Color.FromName(Mycolor);

当Mycolor ="Lime"时,Label1的背景色能显示

当Mycolor ="ff0080ff"时,Label1的背景色显示就出错了~


问 现在 label1.BackColor 如何写或如何把Color.name保存到数据库
...全文
272 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
MCOP_Jacob 2010-04-30
  • 打赏
  • 举报
回复
用了这个System.Drawing.Color.FromArgb(); OK了,结帖~
MCOP_Jacob 2010-04-30
  • 打赏
  • 举报
回复
Mycolor = colorDialog1.Colorn.Name 保存到数据库里
lpingz 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 mcop_jacob 的回复:]

那如何知到读取的是值 还是Colorname 呢?是值的话,那如何设置控件的背景色~
[/Quote]

是值是名字,都是你说了算吧?

还是说那个值是由别的程序传给你的?
g394594141 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 mcop_jacob 的回复:]
那如何知到读取的是值 还是Colorname 呢?是值的话,那如何设置控件的背景色~
[/Quote]

楼上说的FromRgb是可以实现你的要求。 你自己读取的东西,你还不知道它是什么吗?你存进去什么,读出来就是什么
MCOP_Jacob 2010-04-30
  • 打赏
  • 举报
回复
那如何知到读取的是值 还是Colorname 呢?是值的话,那如何设置控件的背景色~
lpingz 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mcop_jacob 的回复:]

那是否把它们转成值保存到数据库
[/Quote]
如果存值就完全不用转换了,直接用四个字段,一个是名字,另外三个分别是红绿蓝分量的值。
lpingz 2010-04-30
  • 打赏
  • 举报
回复

int red = 154;
int green = 100;
int blue = 26;
Color mycolor = Color.FromArgb(red, green, blue);
//数据库里存colorname
string colorname = red.ToString() + "," + green.ToString() + "," + blue.ToString();

说明下意思,你自己稍微改改。

取出来,用split拆一下。
MCOP_Jacob 2010-04-30
  • 打赏
  • 举报
回复
那是否把它们转成值保存到数据库
MCOP_Jacob 2010-04-30
  • 打赏
  • 举报
回复
那如何做才对,这个问题我弄了几天了~
lpingz 2010-04-30
  • 打赏
  • 举报
回复
你应该是可以用这个函数
System.Drawing.Color.FromArgb();

你可以将你要赋给函数的红、绿、蓝的数值,组成你要存的名字。取出之后再拆分开赋值。
捷哥1999 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lpingz 的回复:]

System.Drawing.Color.FromName是基于预定义颜色的指定名称创建 Color 结构。
既然这样指定的名字必须是 系统中已有的。
而"ff0080ff"是值,肯定会报错。
[/Quote]

正确。
lpingz 2010-04-30
  • 打赏
  • 举报
回复
System.Drawing.Color.FromName是基于预定义颜色的指定名称创建 Color 结构。
既然这样指定的名字必须是 系统中已有的。
而"ff0080ff"是值,肯定会报错。

110,535

社区成员

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

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

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