1、清空

Console.Clear()

2、窗口大小,缓冲区大小

注意:

(1)先设置窗口大小,再设置缓冲区大小

(2)缓冲区的大小不能小于窗口的大小

(3)窗口的大小不能大于控制台的最大 尺寸

// 窗口大小
Console.SetWindowSize(100,50)
// 缓冲区大小(可打印内容区域的宽高,超过窗口的部分滑动进度条显示)
Console.SetBufferSize(100,50)

还可以通过在控制台的属性进行控制

得到缓冲区的宽和高:

Console.BufferHeight;
Console.BufferWidth;

3、设置光标的位置

控制台是一个以左上角为原点的坐标系,向右是x轴正方向,向下是y轴正方向

注意:

(1)边界问题(要在缓冲区范围内)

(2)横纵距离单位不同 1y = 2x, 视觉上的

Console.SetCursorPosition(0,1);
Console.WriteLine("123"); // 此时第一行为空

4、设置颜色相关

注意:颜色修改之后的代码运行结果才会改变颜色,之前的不会改变

(1)文字颜色设置

Console.ForegroundColor = ConsoleColor.Red;
Console.Writeline("123"); // 显示红色
Console.ForegroundColor = ConsoleColor.Red;
Console.Writeline("123"); // 显示绿色

(2)背景颜色设置

Console.BackgroundColor = ConsoleColor.While;
Console.Clear();

如果改变整个背景的颜色,需要在背景颜色设置之后添加清空指令

5、光标显隐

Console.CursorVisible = false

6、关闭控制台(调试模式下需要进行设置才能生效)

Environment.Exit(0);

7、练习题

在控制台中输入方块,并使用W,S,D,A对方块进行移动

namespace Test{class Program {static void Main(string[] args) {int windowWidth = 100, windowHeight = 30;int bufferWidth = 100, bufferHeight = 30;// 设置缓冲区大小Console.SetWindowSize(windowWidth, windowHeight);Console.SetBufferSize(bufferWidth, bufferHeight);// 控制台光标、背景颜色设置Console.CursorVisible = false;Console.BackgroundColor = ConsoleColor.Red;Console.Clear();Console.ForegroundColor = ConsoleColor.Black;//Console.SetCursorPosition(10, 20);//Console.Write("■");int x = 0;int y = 0;while (true) {char direction = Console.ReadKey(true).KeyChar;// Console.Clear();// 不直接 Clear 可以只对方框清空而不对其他固定元素造成影响Console.SetCursorPosition(x, y);Console.WriteLine("  ");switch (direction) {case 'A':case 'a':x -= 2;if (x < 0)x = 0;break;case 'W':case 'w':y -= 1;if (y < 0)y = 0;break;// 光标的位置坐标必须小于缓冲区,因此要进行边界处理case 'S':case 's':y += 1;if (y > Console.BufferHeight - 1)y = Console.BufferHeight - 1;break;case 'D':case 'd':x += 2;if (x > Console.BufferWidth - 2)       // 横纵轴比例不同x = Console.BufferWidth - 2;break;default:break;}Console.SetCursorPosition(x, y);Console.WriteLine("■");Console.SetCursorPosition(90, 20);Console.WriteLine("({0},{1})", x, y);}}}
}

C#-- 控制台操作相关推荐

  1. 鼠标同步桌面_[问题处理]XenCenter控制台操作通过MCS发布的虚拟机鼠标不同步

    XenCenter控制台操作通过MCS发布的虚拟机鼠标不同步 问题描述 在XenCenter控制台里面操作通过Machine Creation Services(MCS)发布的虚拟机时会发现鼠标不同步 ...

  2. mysql控制台教程视频教程_mysql 控制台操作

    一.连接mysql数据库 1.首先打开cmd进入dos窗口 2.切换至目录:D:\MySql5.0\mysql-5.0.51b-win32\bin(即:mysql安装目录下面的bin目录,该目录内有很 ...

  3. navicat for mysql打开控制台操作数据库

    navicat for mysql打开控制台操作数据库 navicat for mysql打开控制台操作数据库 数据库操作 表格操作 索引操作 字段操作: 嵌套查询插入: Mysql切换调整字段顺序, ...

  4. MySQL_控制台操作_01

    1. 163 博客 "/zclxy"中也有记录 MySQL的一些操作 2. 以下命令 来自 韩顺平 jdbc教程 " (1).参考 韩顺平 jdbc 第16讲 (1.1) ...

  5. 无图形界面下控制台操作Virtualbox

    2019独角兽企业重金招聘Python工程师标准>>> 开机 VBoxManage startvm centos --type=headless 关机 VBoxManage cont ...

  6. mysql控制台操作

    显示表结构  : show create table  table_name 复制表:insert into table_name1 select * from table_name2 转载于:htt ...

  7. C++控制台操作(基本操作的代码)

    控制台窗口界面编程控制 〇.摘要 一.概述 二.控制台文本窗口的一般控制步骤 三.控制台窗口操作 四.文本属性操作 五.文本输出 六.文本操作示例 七.滚动和移动 八.光标操作 九.读取键盘信息 十. ...

  8. android cmd 卸载,CMD 控制台操作卸载安装apk、卸载系统默认应用

    adb设置 添加环境变量 添加一个名为"Android_adb"的系统变量(变量名随便只要上下一致即可),变量值就是你的sdk地址"C:\AndrodiStudioSDK ...

  9. 计算机联锁控制台操作演示,K5B计算机联锁控制台操作说明.doc

    PAGE 4 一.概述 K5B计算机联锁设备采用单元式控制台,完成对站内设备的操作及状态显示.其操作和表示与6502电气集中控制台基本相同. 控制台上的按钮根据动作方式分为自复式和非自复式两种,根据使 ...

最新文章

  1. P2340 奶牛会展(状压dp)
  2. Go语言垃圾回收(GC)
  3. 【Python基础】Python初学者必须吃透这69个内置函数!
  4. CentOS下防御或减轻DDoS攻击方法(转)
  5. day32 管道, 数据共享, 进程池, 回调函数
  6. PC-用Windows XP自带的组策略加固操作系统
  7. sap客户主数据bapi_【SD系列】SAP SD模块-创建供应商主数据BAPI
  8. HDU 4968(杭电多校#9 1009题)Improving the GPA (瞎搞)
  9. 晨间日记模板 Web应用版 晨间日记软件 开源
  10. 人声歌姬语音合成器+拓展-Yamaha Vocaloid 5.0.3 + Libraries WiN 免安装版
  11. DBUtils和连接池的笔记和总结
  12. 严格模式 Strict Mode,与ES2020同步
  13. 如何检测android手机是否支持3g网络或者4g网络 源码,iOS中怎么判断当前网络环境是2G/3G/4G/5G/WiFi...
  14. Windows 提示“缺少所需的 CD/DVD 驱动器设备驱动程序”
  15. python怎么做表格_零基础小白怎么用Python做表格?
  16. ASCII码表和常见键盘码
  17. Google Dremel架构
  18. bp神经网络解决什么问题,BP神经网络的基本思想
  19. Python 生成图片验证码(详解)
  20. 前台debugger的使用

热门文章

  1. 笔记本有没有必要加内存条?
  2. Btspread Search Assistant的开发过程
  3. 苹果屏和android屏哪个更真实,苹果手机的屏幕,和安卓旗舰有何差距,苹果真的就是最棒的嘛?...
  4. 网吧管用之招(三)- 系统安装与调试备忘录(转)
  5. html6能代替原生app,网页转APP工具能否取代原生APP?这个在线制作平台,让移动开发更简单...
  6. 杭州电子科技大学acm---2009
  7. java的Date类的getYear(),getMonth()等函数过时
  8. 摩申网络2017年6月27日游戏新闻
  9. 构建基于Jenkins + Github的持续集成环境
  10. 解读:企微面向服务商进行平台收费模式调整的说明