首页 程序笔记 C#的控制台程序中如何设置命令行窗体的字体颜色,窗口宽度和高度,光标行数

C#的控制台程序中如何设置命令行窗体的字体颜色,窗口宽度和高度,光标行数

摘要

在C#的控制台程序中,经常需要通过代码设置控制台(命令行)窗口的字体颜色,窗口宽度和高度,光标的函数等属性,获取获取控制台支持的背景色,前景色等,下面将给出一些示例代码和运行结果。

设置窗口宽度和高度

C#控制台程序设置命令行窗口的宽度和高度,以及标题等属性的代码如下:

static void Main(string[] args)
{
     Console.WriteLine(Console.WindowHeight);
     Console.WriteLine(Console.BufferHeight);
     Console.ReadKey();
     Console.Title = Test;//设置窗口标题
     Console.WindowWidth = 120;
     Console.BufferHeight = 1000;
     Console.WriteLine(Console.WindowWidth);
     Console.WriteLine(Console.WindowHeight);
     Console.WriteLine(---------------------);
     Console.WriteLine(Console.BufferWidth);
     Console.WriteLine(Console.BufferHeight);
     Console.ReadKey();
}

以上代码运行结果如下图所示:

设置窗口字体颜色和背景颜色

C#控制台程序设置命令行窗口的字体颜色和背景颜色属性的代码如下:

static void Main(string[] args)
{
      Console.Title = Test;
      Console.BackgroundColor = ConsoleColor.Blue; //设置背景色
      Console.ForegroundColor = ConsoleColor.White; //设置前景色,即字体颜色
      Console.WriteLine(第一行白蓝.);
      Console.ResetColor(); //将控制台的前景色和背景色设为默认值
      Console.BackgroundColor = ConsoleColor.Green;
      Console.ForegroundColor = ConsoleColor.DarkGreen;
      string str = 第三行 绿暗绿;
      Console.WriteLine(str.PadRight(Console.BufferWidth - (str.Length % Console.BufferWidth))); //设置一整行的背景色
      Console.ResetColor();
      Console.ReadKey();
}

以上C#控制台程序设置命令行窗口的字体颜色和背景颜色属性的代码运行结果如下图所示:

获取console中支持的背景色及前景色

在C#中获取控制台(Console)支持的背景色和前景色的代码如下:

    static void ShowColor()
    {
        //显示出console中支持的背景色及前景色
        Type type = typeof(ConsoleColor);
        Console.ForegroundColor = ConsoleColor.White;
        foreach (string name in Enum.GetNames(type))
        {
        Console.BackgroundColor = (ConsoleColor)Enum.Parse(type, name);
        Console.WriteLine(name);
        }

        Console.BackgroundColor = ConsoleColor.Black;
        foreach (string name in Enum.GetNames(type))
        {
        Console.ForegroundColor = (ConsoleColor)Enum.Parse(type, name);
        Console.WriteLine(name);
        }

        foreach (string bc in Enum.GetNames(type))
        {
        Console.BackgroundColor = (ConsoleColor)Enum.Parse(type, bc);
        foreach (string fc in Enum.GetNames(type))
        {
            Console.ForegroundColor = (ConsoleColor)Enum.Parse(type, fc);
            Console.WriteLine(bc= + bc + ,fc= + fc);
        }
        Console.WriteLine();
        }
    }
    static void Main(string[] args)
    {
        Console.Title = Test;
        ShowColor();
        int m = Console.CursorTop;//查看当前行号Console.BufferHeight 
        ShowColor();
        int n = Console.CursorTop;
        ShowColor();
        int o = Console.CursorTop;
        Console.ReadKey();
    }

1

站心网

摘要 在C#的控制台程序中,经常需要通过代码设置控制台(命令行)窗口的字体颜色,窗口宽度和高度,光标的..

为您推荐

押注配送速度,Temu在韩国卷出新高度

文:习芮编辑:小戎出品:增长工场Temu 在韩国的“加码”还在继续。继年初开放韩国卖家入驻,2 月在韩国布局本地仓后,3 月 21 日,Temu 宣布与韩国乐天集团旗下物流子公司乐天全球物流签署长期租约,租用位于京畿道..

程序员的编程等宽字体Maple Mono下载地址

Maple Mono 是一款开源的等宽编程字体,其设计初衷是为程序员提供更加舒适的编码体验。这款字体在开发者社区中引起了广泛的关注,它不仅仅是一款字体,更是对代码美学和可读性的一次深度探索。Maple Mono GitHub地址..

彩虹目录列表程序v1.5源码下载

彩虹目录列表是一款用PHP开发的目录列表程序,无需数据库,安装简单,使用方便。功能特点:在线预览图片、视频、音频、文本文件、Markdown文件、Office文档等自动识别目录下的README.md文件并展示(类GitHub)后台管..

让别人舒服的程度,决定你的人生高度

1.李嘉诚的平易近人有人说,真正的牛人都是非常平易近人的。李嘉诚就是这样一个人。无论面对高官巨贾,还是普通众人,他都表现出平易近人的态度,不端架子,照顾每个人的情绪,让对方感到和风般的舒服。地产行业大佬..

学习最重要是方法,管理最重要是高度

技术学习要兼顾深度和广度夯实技术基础这么多年来,我面试了很多人。我越发感到「技术基础」非常重要。很多技术的本质是一样的。技术基础足够好的话,学东西可以非常快。往下到操作系统层面,甚至计算机硬件层面,你..

谈谈程序猿的职业方向

大学生在校期间可能会有这样的疑问:将来就业干啥好呢?如果你是学计算机的,将来想进入软件和互联网行业,恭喜,这是个好行业,薪水很高, 也不需靠关系,一切靠实力说话,不需要有个好爸爸。坏处是,这个行业需要..

.NET 主程序的.dll.config文件有什么用?

.dll.config 文件通常是在开发过程中自动生成的,它的主要作用是为某个类库(.dll 文件)提供一个独立的配置文件,以便开发者可以为该类库单独定义或测试配置项。以下是生成 .dll.config 文件的原因和机制:1. 配置..

一个简单的大转盘抽奖程序(附.NetCore Demo源码)

最近闲下来在做一些demo,现在讲一下做的一个简单的大转盘抽奖demo,前端lottery,layui,后端.net core,sqlsugar,数据库用的mysql1.前端实现:前端用的是基于开源的lottery,其中有些改动的,使得前端可以自适应pc端..

关于程序员的职业规划

对于绝大部分从事互联网、程序员的群体来说,看中的不仅是一个白领工作,更重要的是他高薪资的待遇,就当前来说,IT行业发展速度突飞猛进,就业方向和前景更是百家争鸣,如果对自己没有一个明确的目标而漫无目的,那..

从程序媛角度去看项目管理

需求管理下图描述的是程序员从接到需求到开发环节的过程:一般我们首先会收到产品的PRD或交互稿,被询问今天什么时间点是否有空,进行需求评审。时光匆匆,回想起刚毕业那时,我望着冗长的PRD,直接跳过背景、目的等..

ASP.NET如何将Views文件夹从项目分离

将 Views 文件夹从 ASP.NET 项目中分离是一个常见需求,比如为了实现模块化或分层架构。以下是实现此功能的完整步骤,从项目中分离 Views 文件夹,将其移到另一个独立的文件夹或项目中,并确保视图渲染仍然正常。1. ..

TinyMCE 富文本编辑器常用菜单设置

TinyMCE是一款流行的开源富文本编辑器,广泛应用于网页内容管理系统(CMS)和各种Web应用程序中。它提供了丰富的功能和高度可定制性。下面将介绍一些常用的菜单设置:工具栏:显示或隐藏工具栏。可以通过配置文件中..

如何让AI写出Google认可的文章?

让 AI 写出 Google 认可的文章,核心在于满足 Google 的搜索排名算法要求。这些要求通常围绕以下几个关键点展开:内容质量、用户体验 和 SEO 优化。以下是详细指导:一、内容质量确保文章原创且有价值避免抄袭:Goog..

EntityFramework SQLite 为时间字段设置默认值为当前时间

在使用 Entity Framework Core 和 SQLite 时,可以通过以下步骤为时间字段设置默认值为当前时间:方法一:在模型配置中设置默认值你可以在 DbContext 的 OnModelCreating 方法中,通过 Fluent API 配置默认值:prote..

如何从.NET Framework迁移到.NET Core或.NET 6/7?

从 .NET Framework 迁移到 .NET Core 或 .NET 6/7 是一个提升性能和跨平台能力的关键过程。以下是迁移的主要步骤和注意事项:迁移步骤1. 评估当前项目依赖项检查:确保所有第三方库和NuGet包都有与 .NET Core/.NET 6..

如何优化ASP.NET Core应用的性能?

优化ASP.NET Core应用性能需要从代码、数据库、配置、服务器和部署等多个层面进行综合考虑。以下是一些优化ASP.NET Core应用性能的关键方法和技巧:1. 代码级优化使用异步编程:避免阻塞线程,通过async和await处理I..

chrome 开发者工具如何查看元素:hover时的样式

在 Chrome 开发者工具中查看元素的 :hover 样式,可以通过以下步骤实现:打开开发者工具:右键点击页面中的元素,然后选择“检查(Inspect)”或按下 F12 或 Ctrl + Shift + I (Windows) / Cmd + Option +..

如何防止web应用DOS攻击?

防止web应用DOS攻击的最好的方法是什么? 如何防止web应用DOS攻击? 与所有的拒绝服务(DOS)攻击相关的一件事是他们都不可能避免。最好的方法是把重点放在减少影响DOS攻击的方法上。如果你有一个网络,黑客想要玩一玩..

数据库SQL Server2014和SQL Server2019的区别和如何选择?

SQL Server 2014和SQL Server 2019是微软公司发布的两个版本的数据库管理系统,它们在性能、安全性以及可扩展性等方面各有特点。在选择这两个数据库版本时,需要根据系统需求、预算状况以及技术团队的熟悉程度等因素..

MySQL如何建数据库

MySQL是一款非常流行的关系型数据库管理系统。无论是在企业还是个人项目中,都经常使用MySQL数据库。在使用MySQL之前,需要先创建一个数据库。本文将介绍如何建立MySQL数据库。一、安装MySQL在开始建立MySQL数据库之..

发表回复

返回顶部