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.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 Programstatic 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[显示方式;前景色;背景色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(白色)
前景色: 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#控制台程序怎么实现输出彩色字体?的主要内容,如果未能解决你的问题,请参考以下文章