Страницы

Поиск по вопросам

суббота, 13 июля 2019 г.

Обработка русских символов с клавиатуры wpf

Написал код, при котором обрабатываются нажатия кнопок на клавиатуре, но если переключить раскладку на русскую, символы все равно записываются латинскими буквами, как сделать чтобы русские символы так же считывало при переключении раскладки
DataTable dt = new DataTable();
public MainWindow() { InitializeComponent(); dt.Columns.Add("Key_Code", typeof(string)); dt.Columns.Add("Key_Value", typeof(string)); dt.Columns.Add("Key_State", typeof(string)); dt.Columns.Add("Key_Char", typeof(string)); dt.Columns.Add("System_Key", typeof(string)); dt.Columns.Add("Key_Down", typeof(string)); dt.Columns.Add("Key_Up", typeof(string)); }
private void KeyEvents(object sender, KeyEventArgs e) {
if (e.IsRepeat) return; string s = "" + e.Key; // key code string x = "" + e.SystemKey; // system key string z = "" + e.KeyStates; // key state string q = "" + e.IsUp; // key up string d = "" + e.IsDown; // key down string val = "" + (int)e.Key; // key value string ch = "" + (char)e.Key;// key char
dt.Rows.Add(new string[] { s, val, z, ch, x, d, q });
dg1.ItemsSource = dt.DefaultView; }


Ответ

Если брать другое событие например TextInput, то можно перехватить русский символ, но у этого события нет свойств таких, какие есть у keydown и keyup

Комментариев нет:

Отправить комментарий