【问题标题】:Win Form Colors赢得表格颜色
【发布时间】:2014-10-23 17:24:04
【问题描述】:

我有一个访问颜色(浅黄色,或 153,255,255),但是当我尝试使用这种语法在我的 Windows 窗体中使用这个 RGB 组合时

System.Drawing.Color ly = System.Drawing.Color.FromArgb(153, 255, 255);
this.BackColor = ly;

windows 窗体不会产生与我的 Access Form 颜色相同的颜色。我也试过用这个

this.BackColor = Color.FromName("LightYellow");

没有这样的成功。我翻译的颜色不正确吗?或者我可以不使用相同的颜色吗?

编辑 - @Alex K 感谢您的回复,我使用此网站尝试进行转换,这就是它提供的 RGB 颜色。看这里:

http://www.numberconverter.net/get-computer-data/color-code-converter/from-rgb-to-ms-access-color/

【问题讨论】:

  • 那个 RGB 组合是绿松石色...打印 Access 表单,将其粘贴到编辑器中并使用移液器工具获取 RGB
  • @AlexK。我会使用什么类型的编辑器?我得到了标签的前景色,然后使用上面编辑中的网站来获取 RGB 颜色

标签: c# winforms colors


【解决方案1】:

访问颜色似乎表示为 BGR,而不是 RGB(您可以通过在 MSPaint 中输入值来快速验证)。您必须切换第一个值和最后一个值的值。

所以你需要使用

System.Drawing.Color ly = System.Drawing.Color.FromArgb(255, 255, 153);

获得你的淡黄色。


如果您想使用文字名称,您可以使用FromKnownColor,它将为您提供所有颜色名称的枚举。它更加防错。

this.BackColor = Color.FromKnownColor(KnownColor.LightYellow);

根据FromName 作为输入的文档,这也不会限制您的颜色选择

有效名称与元素的名称相同 KnownColor 枚举。

【讨论】:

  • TY!使用 BGR 组合有效!我不知道它在 C# 中是倒置的。非常感谢!
  • @user2676140 I didn't know that it was inverted in C#。它不是。全球公认的标准是 RGB。如果有的话,Access 是错误的,而不是 C#(或者更确切地说是 GDI+,这是它的来源)。
  • 其实在字节级别上看到的位图格式是BGRA,所以Access更接近现实,而C#和我们说话,好像我们周围一直没有荒谬的工作..
  • 确实,Access 显然是倒置的。 C# 使用的是正确且常用的 RGB 格式。
  • @TaW - BGRA 仍然很奇怪。如果包含 Alpha 通道,则几乎总是将其视为 ARGB。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-29
  • 2012-11-21
  • 2013-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-19
相关资源
最近更新 更多