如何从 C# 中的十六进制代码中获取前景色? [复制]

Posted

技术标签:

【中文标题】如何从 C# 中的十六进制代码中获取前景色? [复制]【英文标题】:How to get foreground color from hex code in C#? [duplicate] 【发布时间】:2013-11-03 06:21:48 【问题描述】:
    using System;
    class ColorTheText
    
        public static void Main(string [] args)
        
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("\t\tCongratulations! You have cleared this level. \n\n\t\t\t    Entering Level 2...");
            Console.ForegroundColor = ConsoleColor.White;
        
    

但我想从十六进制代码(即 ConsoleColor)中获取颜色。颜色来自十六进制代码 (#c0c0c0)。怎么做?

【问题讨论】:

This answer 对 ConsoleColor 说“不允许使用十六进制” 错误 CS0117:“System.ConsoleColor”不包含“silver”或“Silver”的定义 @Jonesy 这是真的。但这是可能的。 只有 16 种可能的颜色,因此您可以使用 switch() 语句硬编码颜色到 ConsoleColor 的映射。请注意,名称不一定与用户看到的实际颜色相匹配。控制台窗口允许将颜色索引重新映射到另一种颜色。 【参考方案1】:
System.Drawing.ColorTranslator.Fromhtml("#c0c0c0");

你需要这样的东西吗? 也许你服务。

对不起我的英语。

【讨论】:

这将返回 Color 而不是 ConsoleColor 这是必需的 你有理由,对不起。

以上是关于如何从 C# 中的十六进制代码中获取前景色? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将 PNG 图像的背景和前景色更改为从颜色托盘中选择?

如何设置QTableWidget行垂直标题项的背景和前景色

C#中关于DataGridView行和列的背景色-前景色设置

给定背景颜色,如何获得使其在该背景颜色上可读的前景色?

如何修复 Eclipse 深色主题中选定文本项的黑色前景色

如何更改一个Dialogbar上控件的前景色和背景色?