کیبورد در WPF
در WPF انواع مختلفی از ورودی کیبورد وجود دارند که از جمله آن ها می توان به KeyDown، KeyUp، TextInput و غیره اشاره کرد. در مثال زیر ما تعداد از رویدادهای مربوط به ورودی کیبورد را هندل خواهیم کرد.
مثال
یک پروژه WPF با نام WPFKeyboardInput ایجاد کرده و آن را به شکل زیر تغییر دهید. در مثال زیر برای رویداد Click دکمه و رویداد KeyDown پنل هندلر تعریف کرده ایم. محتوای فایل MainWindow.xaml:
<Window x:Class = "WPFKeyboardInput.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:WPFKeyboardInput" mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604"> <Grid> <StackPanel Orientation = "Horizontal" KeyDown = "OnTextInputKeyDown"> <TextBox Width = "400" Height = "30" Margin = "10"/> <Button Click = "OnTextInputButtonClick" Content = "Open" Margin = "10" Width = "50" Height = "30"/> </StackPanel> </Grid> </Window>
محتوای فایل MainWindow.xaml.cs:
using System.Windows; using System.Windows.Input; namespace WPFKeyboardInput { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void OnTextInputKeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.O && Keyboard.Modifiers == ModifierKeys.Control) { handle(); e.Handled = true; } } private void OnTextInputButtonClick(object sender, RoutedEventArgs e) { handle(); e.Handled = true; } public void handle() { MessageBox.Show("Do you want to open a file?"); } } }
زمانی که مثال فوق را کامپایل و اجرا کنید، خروجی زیر را تولید خواهد کرد:
اگر بر روی دکمه Open کلیک کنید یا کلید های ترکیبی CTRL + O را در داخل TextBox فشار دهید، پیام زیر نمایش داده خواهد شد:
نوشته کیبورد در WPF – آموزش WPF اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.