转换Consolecolor以颜色? [英] Convert Consolecolor to Color?

查看:379
本文介绍了转换Consolecolor以颜色?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎么能转换 ConsoleColor 颜色键入<?/ P>

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

 '''&LT;总结&gt;
    '''生成随机ConsoleColor颜色。
    '''&LT; /总结&gt;
    '''&LT;返回&GT; ConsoleColor&LT; /回报&GT;
    公共共享功能[ConsoleColor]()作为ConsoleColor

        昏暗兰德作为新的随机
        返回[枚举] .Parse(的GetType(ConsoleColor)
                            Rand.Next(0,15))

    端功能
 

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

 '''&LT;总结&gt;
    '''生成随机QB颜色。
    '''&LT; /总结&gt;
    '''&LT;返回&GT;颜色&LT; /回报&GT;
    公共共享功能QB()作为颜色

        昏暗兰德作为新的随机
        返回Color.FromName([枚举] .Parse(的GetType(ConsoleColor)
                              Rand.Next(0,15))。的ToString)

    端功能
 

  

PS:我想避免的旧VB6方法的使用(QBColor功能)

解决方案

怎么样,

 模块ColorExtension

    &LT;扩展()&GT;
    公共职能DrawingColor(BYVAL颜色ConsoleColor)由于颜色
        选择颜色
            案例ConsoleColor.Black
                返回Color.Black

            案例ConsoleColor.Blue
                返回Color.Blue

            案例ConsoleColor.Cyan
                返回Color.Cyan

            案例ConsoleColor.DarkBlue
                返回ColorTranslator.FromHtml(#000080)

            案例ConsoleColor.DarkGray
                返回ColorTranslator.FromHtml(#808080)

            案例ConsoleColor.DarkGreen
                返回ColorTranslator.FromHtml(#008000)

            案例ConsoleColor.DarkMagenta
                返回ColorTranslator.FromHtml(#800080)

            案例ConsoleColor.DarkRed
                返回ColorTranslator.FromHtml(#800000)

            案例ConsoleColor.DarkYellow
                返回ColorTranslator.FromHtml(#808000)

            案例ConsoleColor.Gray
                返回ColorTranslator.FromHtml(#C0C0C0)

            案例ConsoleColor.Green
                返回ColorTranslator.FromHtml(#00FF00)

            案例ConsoleColor.Magenta
                返回Color.Magenta

            案例ConsoleColor.Red
                返回Color.Red

            案例ConsoleColor.White
                返回Color.White

            案例否则
                返回Color.Yellow
        最终选择
    端功能
前端模块
 

允许

 昏暗的结果作为Drawing.Color = ConsoleColor.Red.DrawingColor()
 

How I could convert a ConsoleColor to a Color type?

I need this for create an overload of this method, which should return a color instead a 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

This is what I've tried, but sometimes the returned color is empty because the ConsoleColor name is unknown:

    ''' <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).

解决方案

how about,

Module ColorExtension

    <Extension()>
    Public Function DrawingColor(ByVal color As ConsoleColor) As Color
        Select color
            Case ConsoleColor.Black
                Return Color.Black

            Case ConsoleColor.Blue
                Return Color.Blue

            Case ConsoleColor.Cyan
                Return Color.Cyan

            Case ConsoleColor.DarkBlue
                Return ColorTranslator.FromHtml("#000080")

            Case ConsoleColor.DarkGray
                Return ColorTranslator.FromHtml("#808080")

            Case ConsoleColor.DarkGreen
                Return ColorTranslator.FromHtml("#008000")

            Case ConsoleColor.DarkMagenta
                Return ColorTranslator.FromHtml("#800080")

            Case ConsoleColor.DarkRed
                Return ColorTranslator.FromHtml("#800000")

            Case ConsoleColor.DarkYellow
                Return ColorTranslator.FromHtml("#808000")

            Case ConsoleColor.Gray
                Return ColorTranslator.FromHtml("#C0C0C0")

            Case ConsoleColor.Green
                Return ColorTranslator.FromHtml("#00FF00")

            Case ConsoleColor.Magenta
                Return Color.Magenta

            Case ConsoleColor.Red
                Return Color.Red

            Case ConsoleColor.White
                Return Color.White

            Case Else
                Return Color.Yellow
        End Select
    End Function
End Module

Allowing,

Dim result As Drawing.Color = ConsoleColor.Red.DrawingColor()

这篇关于转换Consolecolor以颜色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆