.net - 将控制台颜色转换为颜色?

标签 .net vb.net colors type-conversion

如何将 ConsoleColor 转换为 Color 类型?

我需要这个来创建这个方法的重载,它应该返回一个颜色而不是一个控制台颜色:

    ''' <summary>
    ''' Generates a random ConsoleColor color.
    ''' </summary>
    ''' <returns>ConsoleColor.</returns>
    Public Shared Function [ConsoleColor]() As ConsoleColor

        Dim Rand As New Random
        Return [Enum].Parse(GetType(ConsoleColor), 
                            Rand.Next(0, 15))

    End Function

这是我试过的方法,但有时返回的颜色是空的,因为 ConsoleColor 名称未知:

    ''' <summary>
    ''' Generates a random QB color.
    ''' </summary>
    ''' <returns>Color.</returns>
    Public Shared Function QB() As Color

        Dim Rand As New Random
        Return Color.FromName([Enum].Parse(GetType(ConsoleColor), 
                              Rand.Next(0, 15)).ToString)

    End Function

PS: I want to avoid the usage of old VB6 methods (QBColor function).

最佳答案

我自己今天也遇到了这个问题,不能同意目前的两个答案。

我最终检查了所有值,发现这些值非常不同,我不知道为什么人们建议“按名称”转换。

## Name         Actual      Drawing.Color of same name
 0 Black        #000000     #000000
 1 DarkBlue     #000080     #00008B
 2 DarkGreen    #008000     #006400
 3 DarkCyan     #008080     #008B8B
 4 DarkRed      #800000     #8B0000
 5 DarkMagenta  #800080     #8B008B
 6 DarkYellow   #808000     #000000
 7 Gray         #C0C0C0     #808080
 8 DarkGray     #808080     #A9A9A9
 9 Blue         #0000FF     #0000FF
10 Green        #00FF00     #008000
11 Cyan         #00FFFF     #00FFFF
12 Red          #FF0000     #FF0000
13 Magenta      #FF00FF     #FF00FF
14 Yellow       #FFFF00     #FFFF00
15 White        #FFFFFF     #FFFFFF

CC RGB test

关于.net - 将控制台颜色转换为颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21092421/

相关文章:

c# - .NET 核心的异步请求

vb.net - 在 vb.net 中将 RichTextBox 内容转换为 Word 而不丢失格式

vb.net - 为什么 DataGridViewComboBoxColumn 显示一个 ValueMember?

c# - WPF RichTextBox 附加彩色文本

java - Java 中 RGB 到 CIEXYZ

.net - Visual Studio 2022 中的 Azure 服务身份验证即使在注销后也能正常工作

c# - 执行集成测试的好方法是什么?

c# - 如何使用 C# 在文本框中查找插入符位置?

vb.net - 如何建立这个列表并将其随机化?

colors - 使用 matplotlib 指定轮廓的 RGB 颜色