> 백엔드 개발 > C++ > C# 콘솔 애플리케이션에서 키 누르기 이벤트를 어떻게 캡처하고 처리합니까?

C# 콘솔 애플리케이션에서 키 누르기 이벤트를 어떻게 캡처하고 처리합니까?

Mary-Kate Olsen
풀어 주다: 2025-01-04 12:38:40
원래의
841명이 탐색했습니다.

How Do I Capture and Process Key Press Events in C# Console Applications?

C# 콘솔 애플리케이션에서 키 누르기 이벤트 처리

C# 콘솔 애플리케이션에서 키 누르기를 통해 사용자 입력을 모니터링하는 것은 대화형 프로그램에 매우 중요합니다. 일반적인 질문이 생깁니다. 키 누르기 이벤트를 어떻게 캡처하고 처리할 수 있습니까?

잘못된 접근 방식

제공된 코드 조각은 PreviewKeyDownEventArgs 이벤트를 사용하여 키 누르기를 수신하려고 시도합니다. . 그러나 이 접근 방식은 Windows Forms 애플리케이션과 관련되므로 콘솔 애플리케이션에는 올바르지 않습니다.

올바른 접근 방식

콘솔 애플리케이션에서 키 누르기 이벤트를 처리하려면 다음을 사용할 수 있습니다. Console 클래스의 ReadKey() 메서드. 이 메서드는 사용자가 키를 누를 때까지 기다렸다가 누른 키에 대한 정보가 포함된 ConsoleKeyInfo 개체를 반환합니다.

다음은 사용자가 누른 키를 캡처하고 표시하는 예제 프로그램입니다.

public class Program
{
    public static void Main()
    {
        ConsoleKeyInfo keyinfo;
        do
        {
            keyinfo = Console.ReadKey();
            Console.WriteLine(keyinfo.Key + " was pressed");
        }
        while (keyinfo.Key != ConsoleKey.X);
    }
}
로그인 후 복사

설명

ReadKey() 메서드는 콘솔 입력에서 단일 키 입력을 읽습니다. 버퍼링하여 keyinfo 변수에 저장합니다. ConsoleKeyInfo 개체의 Key 속성은 누른 키를 나타냅니다.

do-while 루프는 프로그램을 종료하는 'X' 키를 누를 때까지 사용자에게 입력하라는 메시지를 계속 표시합니다. 키를 누를 때마다 해당 값이 콘솔에 표시됩니다.

참고: 이 접근 방식을 사용하려면 콘솔 애플리케이션에 포커스가 있어야 합니다. 시스템 전체에서 키 누르기 이벤트를 캡처하려면 고급 기술인 Windows 후크를 사용하는 것이 좋습니다.

위 내용은 C# 콘솔 애플리케이션에서 키 누르기 이벤트를 어떻게 캡처하고 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿