[WPF] WPF 키보드 이벤트(키 입력) 연습
- C#/WPF
- 2021. 1. 23. 00:00
안녕하세요.
WPF에서 키보드에서 특정 키가 입력했을 때 이벤트가 발생되도록 하는 방법에 대해서 알려 드리려고 합니다.
큰 어려움이 없기 때문에 바로 예제 코드를 통해서 어떻게 키보드 입력을 받고 이벤트를 처리하는지 보도록 하겠습니다.
Xaml.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<Window x:Class="ComboBox.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ComboBox"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="400">
<StackPanel>
<TextBox x:Name="uiTb" KeyDown="uiTb_KeyDown" Margin="20"/>
</StackPanel>
</Window>
|
cs |
비하인드 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
using System.Diagnostics;
using System.Windows;
using System.Windows.Input;
namespace ComboBox
{
/// <summary>
/// MainWindow.xaml에 대한 상호 작용 논리
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
/// <summary>
/// 텍스트박스 KeyDown 이벤트 핸들러
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void uiTb_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.O)
{
MessageBox.Show("O Key 입력");
}
if ((Keyboard.Modifiers & ModifierKeys.Control) != 0)
{
MessageBox.Show("Ctrl 입력");
}
if (Keyboard.IsKeyDown(Key.LeftAlt))
{
MessageBox.Show("Alt 키 입력");
}
//복합키
if (Keyboard.IsKeyDown(Key.LeftAlt) && Keyboard.IsKeyDown(Key.Enter))
{
MessageBox.Show("Alt + Enter 키");
}
}
}
}
|
cs |
실행 결과
위와 같이 C# 비하인드 코드에서 Key, Keboard 클래스를 이용하여 키 입력 이벤트를 발생시켜 보았습니다.
소스코드가 어렵지 않기 때문에 한번씩 따라 쳐 보시는걸 추천 드리겠습니다.
감사합니다.^^
728x90
'C# > WPF' 카테고리의 다른 글
[WPF] WPF ProgressBar 사용하기(프로그레스바) (0) | 2021.01.25 |
---|---|
[WPF] WPF TabControl 사용 방법 (0) | 2021.01.24 |
[WPF] WPF Listbox 데이터바인딩 및 연습 (0) | 2021.01.22 |
[WPF] WPF 리스트 항목 데이터 바인딩 하는 방법 (0) | 2021.01.21 |
[WPF] WPF Grid 패널 사용 방법 (0) | 2021.01.19 |
이 글을 공유하기