C#控制台程序怎么实现输出彩色字体?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#控制台程序怎么实现输出彩色字体?相关的知识,希望对你有一定的参考价值。

我绝对是纯菜鸟,你们给我思路我估计也是想不通的。所以恳请各位高手帮我写出来。
就几点寄托:
1.希望你们能把它写成类库的形式(最好用.net2.0编写)(是在不行.net3.以下就行,不要用.net4.0或4.5)
2.希望能实现3色以上的输出。
3.希望好调用,比如我想在另一个程序实现彩色字体,比如输出红色。
我就可以直接写WritLine.red();绿色WriteLine.green();.....
拜托了!
不要抄袭,谢谢。
如果分不够,还可以再加,只要在我的承受范围内。
写好了发给我也行。
邮箱:844699814@QQ。com

Console.Title = "131"; //设置控制台窗口的标题
Console.ForegroundColor = ConsoleColor.Red; //设置字体颜色为红色
Console.BackgroundColor = ConsoleColor.Green; //设置黑屏为绿屏,即背景颜色
你要函数的话,无非就是

public static void WriteLine(string msg, ConsoleColor forecolor = ConsoleColor.Red, ConsoleColor backcolor=ConsoleColor.Black)

Console.ForegroundColor = forecolor;
Console.BackgroundColor = backcolor;
Console.WriteLine(msg);
Console.ForegroundColor = ConsoleColor.Gray;
Console.BackgroundColor = ConsoleColor.Black;


调用的时候直接就是WriteLine("hell0");//默认为红字
或者WriteLine("hell0",ConsoleColor.Green);
参考技术A

为什么要这么麻烦?

你既然使用控制台,那么所有输出都可以用这个属性实现:

Console.ForegroundColor = ConsoleColor.Blue;

而同理,也有BackgroundColor属性,和ResetColor()方法.

下面按照你的要求做了封装,你可以传入任何你要的颜色.

class Program

static void Main(string[] args)

Console.WriteLine("Before");
WriteLine.Color("Red");
Console.WriteLine("After");
Console.Read();

class WriteLine

/// <summary>
/// Output Color
/// </summary>
/// <param name="colorName">The Color Name</param>
public static void Color(string colorName = "White")

try

Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colorName, true);

catch (System.Exception ex)

throw ex;


参考技术B Console.ForegroundColor = ConsoleColor.Blue;
Console.BackgroundColor = ConsoleColor.White;
Console.Write("Hello World!");


不需要写什么类库啊,不是多次一举么

参考技术C using System;

namespace ConsoleTest

class Program

static void Main(string[] args)

Type type = typeof(ConsoleColor);
Console.ForegroundColor = ConsoleColor.White;
foreach (var name in Enum.GetNames(type))

Console.BackgroundColor = (ConsoleColor)Enum.Parse(type, name);
Console.WriteLine(name);

Console.BackgroundColor = ConsoleColor.Black;
foreach (var name in Enum.GetNames(type))

Console.ForegroundColor = (ConsoleColor)Enum.Parse(type, name);
Console.WriteLine(name);

Console.ReadLine();


参考技术D 只有在winFrom 中才能看到效果,控制台里面只是输出结果,看不到界面设计样式!追问

请解释。

Python终端如何输出彩色字体

原文链接:http://www.cnblogs.com/hellojesson/p/5961570.html

实现过程:

      终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
      转义序列是以ESC开头,即用\\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。
 
书写格式:
     开头部分\\033[显示方式;前景色;背景色m + 结尾部分:\\033[0m
     注意:开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;另外由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;但是,建议按照默认的格式规范书写。
     对于结尾部分,其实也可以省略,但是为了书写规范,建议\\033[***开头,\\033[0m结尾。
 
数值表示的参数含义:
显示方式: 0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、 5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色: 30(黑色)、31红色、32绿色、 33黄色、34蓝色、35洋红、36青色、37(白色
背景色: 40黑色、41红色、42绿色、 43黄色、44蓝色、45洋 红、46青色、47(白色

常见开头格式
\\033[0m            默认字体正常显示,不高亮
\\033[32;0m       红色字体正常显示
\\033[1;32;40m  显示方式: 高亮    字体前景色:绿色  背景色:黑色
\\033[0;31;46m  显示方式: 正常    字体前景色:红色  背景色:青色
 
实例:
  (1)print("\\033[1;31;40m您输入的帐号或密码错误!\\033[0m")  
  上方代码的输出格式为:字体高亮,红色前景,黄色背景      PS:前景色也就是字体的颜色
  技术分享
  (2)print("\\033[0;31m%s\\033[0m" % "输出红色字符")
  #上方代码的输出格式为:字体默认,红色前景
  技术分享
 










以上是关于C#控制台程序怎么实现输出彩色字体?的主要内容,如果未能解决你的问题,请参考以下文章

python终端如何输出彩色字体

让groovy控制台程序拥有彩色输出"面孔"

c程序中控制台字体颜色是如何编写的呢?

Python终端如何输出彩色字体

Python终端如何输出彩色字体

Python终端彩色字体的输出