C#的ConsoleKeyInfo

例子一:
// This example displays output similar to the following:
// Press any combination of CTL, ALT, and SHIFT, and a console key.
// Press the Escape (Esc) key to quit:
//
// a — You pressed A
// k — You pressed ALT+K
// ► — You pressed CTL+P
// — You pressed RightArrow
// R — You pressed SHIFT+R
// — You pressed CTL+I
// j — You pressed ALT+J
// O — You pressed SHIFT+O
// § — You pressed CTL+U

using System;

class Example
{
public static void Main()
{
ConsoleKeyInfo cki;
// Prevent example from ending if CTL+C is pressed.
Console.TreatControlCAsInput = true;

    Console.WriteLine("Press any combination of CTL, ALT, and SHIFT, and a console key.");
    Console.WriteLine("Press the Escape (Esc) key to quit: \n");
    do
    {
        cki = Console.ReadKey();
        Console.Write(" --- You pressed ");
        if ((cki.Modifiers & ConsoleModifiers.Alt) != 0) Console.Write("ALT+");
        if ((cki.Modifiers & ConsoleModifiers.Shift) != 0) Console.Write("SHIFT+");
        if ((cki.Modifiers & ConsoleModifiers.Control) != 0) Console.Write("CTL+");
        Console.WriteLine(cki.Key.ToString());
    } while (cki.Key != ConsoleKey.Escape);
}

}

例子二:
一个控制台程序,需要输入0~9中的一个,输入后不用按回车自动判断是否是数字,这个程序该怎么写?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleKeyInfo2
{
class Program
{
static void Main(string[] args)
{

        while (true)
        {
            Test();
        }

        Console.ReadKey(true);

    }
    static void Test()
    {
        ConsoleKeyInfo keyinfo = Console.ReadKey(true);
        int n;

        if (int.TryParse(keyinfo.KeyChar.ToString(), out n))
        {
            Console.WriteLine("你选择了:" + n);
        }
        else
        {
            Console.WriteLine("请按数字键选择");
        }
    }

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值