C#学习笔记:如何捕捉按键

参考书目:C#6.0学习笔记——从第一行C#代码到第一个项目设计(作者周家安)P137

学习目标:如何捕捉按下的键。本例通过switch判断按下的键是否为上、下、左、右

using System;

namespace MyApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // 输出测试文本
            Console.WriteLine("我爱我的祖国1,");
            Console.WriteLine("我爱我的祖国2");
            Console.WriteLine("我爱我的祖国3");
            Console.WriteLine("我爱我的祖国4");
            Console.WriteLine("我爱我的祖国5");
            Console.WriteLine("我爱我的祖国6");
            Console.WriteLine("我爱我的祖国7");
            Console.WriteLine("我爱我的祖国8");
            // 在修改缓冲区域大小前先缩小窗口区域
            Console.SetWindowSize(1, 1);
            // 设置缓冲区域的大小
            Console.SetBufferSize(82, 25);
            // 再次设置窗口的区域大小
            Console.SetWindowSize(30, 8);

            // 捕捉键盘输入
            ConsoleKeyInfo keyInfo;
            do
            {
                keyInfo = Console.ReadKey(true);
                // 判断按下的键
                switch (keyInfo.Key)
                {
                    case ConsoleKey.RightArrow: //右
                        if (Console.WindowLeft < (Console.BufferWidth - Console.WindowWidth))
                        {
                            Console.SetWindowPosition(Console.WindowLeft + 1, Console.WindowTop);
                        }
                        break;
                    case ConsoleKey.LeftArrow: //左
                        if (Console.WindowLeft > 0)
                        {
                            Console.SetWindowPosition(Console.WindowLeft - 1, Console.WindowTop);
                        }
                        break;
                    case  ConsoleKey.UpArrow: //上
                        if (Console.WindowTop > 0)
                        {
                            Console.SetWindowPosition(Console.WindowLeft, Console.WindowTop - 1);
                        }
                        break;
                    case ConsoleKey.DownArrow: //下
                        if (Console.WindowTop < (Console.BufferHeight - Console.WindowHeight))
                        {
                            Console.SetWindowPosition(Console.WindowLeft, Console.WindowTop + 1);
                        }
                        break;
                }
            } while (keyInfo.Key != ConsoleKey.Escape);
        }//Main方法末尾
    }//类末尾
}

运行结果如下:

 

程序操作说明:按下上下左右键时,滚动条会相应移动。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值