[C#/WINFORM] Control 클래스 : ProcessCmdKey 메소드를 사용해 CTRL, SHIFT, ALT 조합 키 입력받기
C#/WinForm 2020. 5. 22. 23:33728x90
반응형
728x170
▶ MainForm.cs
using System.Windows.Forms;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : Form
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Protected
#region 명령 키 처리하기 - ProcessCmdKey(message, keyData)
/// <summary>
/// 명령 키 처리하기
/// </summary>
/// <param name="message">메시지</param>
/// <param name="keyData">키 데이터</param>
/// <returns>처리 결과</returns>
protected override bool ProcessCmdKey(ref Message message, Keys keyData)
{
Keys keys = keyData & ~(Keys.Shift | Keys.Control | Keys.Alt);
switch(keys)
{
case Keys.S :
if((keyData & Keys.Control) != 0)
{
MessageBox.Show("CTRL + S KEY PRESSED!", "INFORMATION", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
break;
case Keys.F5 :
MessageBox.Show("F5 KEY PRESSED!", "INFORMATION", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case Keys.Tab :
if((keyData & Keys.Shift) != 0)
{
MessageBox.Show("SHIFT + TAB KEY PRESSED!", "INFORMATION", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
break;
case Keys.Enter :
if((keyData & Keys.Alt) != 0)
{
MessageBox.Show("ALT + ENTER KEY PRESSED!", "INFORMATION", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
break;
}
return base.ProcessCmdKey(ref message, keyData);
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > WinForm' 카테고리의 다른 글
[C#/WINFORM] Bitmap 클래스 : 회색조 비트맵 구하기 (0) | 2020.06.04 |
---|---|
[C#/WINFORM/.NETCORE] WinForm .Net Core Class Library 사용하기 (0) | 2020.06.02 |
[C#/WINFORM] Label 클래스 : BackColor 속성을 사용해 투명 배경 설정하기 (0) | 2020.05.27 |
[C#/WINFORM] Cursor 클래스 : Position 정적 속성을 사용해 크레이지 커서 만들기 (0) | 2020.05.26 |
[C#/WINFORM] 윈도우 메시지(Window Message) 상수 (0) | 2020.05.22 |
[C#/WINFORM] ImmGetConversionStatus API 함수 : 한/영 키 상태 구하기 (0) | 2020.05.22 |
[C#/WINFORM] ManagementClass 클래스 : GetInstances 메소드를 사용해 메모리 사용량 구하기 (0) | 2020.05.22 |
[C#/WINFORM] SendKeys 클래스 : SendWait 정적 메소드를 사용해 화면 캡처하기 (0) | 2020.05.22 |
[C#/WINFORM] SvgDocument 클래스 : Draw 메소드를 사용해 SVG 이미지 사용하기 (0) | 2020.05.10 |
[C#/WINFORM] Application 클래스 : Restart 정적 메소드를 사용해 애플리케이션 재시작하기 (0) | 2020.03.01 |
댓글을 달아 주세요