如何将ConsoleColor
转换为Color
类型?
我需要此方法来创建此方法的重载,该方法应返回颜色而不是Consolecolor:
''' <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:我想避免使用旧的VB6方法(QBColor函数)。
最佳答案
我本人今天就遇到了这个问题,无法同时接受两个答案。
我最终检查了所有值,发现这些值非常不同,我不知道为什么人们建议转换“按名称”。
## 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
关于.net - 转换Consolecolor成Color?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21092421/