C#的ConsoleKeyInfo

来源:互联网 发布:哈尔滨理工大学网络课 编辑:程序博客网 时间:2024/06/15 19:18

例子一:
// 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 0
原创粉丝点击