Аналог KeyData для Keypress в c#

300
16 ноября 2017, 01:40

Хочу реализовать возможность движения объекта при зажатии клавиши. Ранее использовал form keydown, но получается не очень плавно:

private void Form7_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyData == Keys.W)
            pictureBox2.Location = new Point(pictureBox2.Location.X, pictureBox2.Location.Y - 3);

Потом решил использовать для реализации keypress и таймер:

 private void Form7_KeyPress(object sender, KeyPressEventArgs e)
 {
     if (e.KeyData == Keys.W)
         pictureBox2.Location = new Point(pictureBox2.Location.X, pictureBox2.Location.Y - 3);
 }

Но возникает ошибка: Ошибка 2 "System.Windows.Forms.KeyPressEventArgs" не содержит определения для "KeyData" и не был найден метод расширения "KeyData", принимающий тип "System.Windows.Forms.KeyPressEventArgs" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку) Ругается на keydata, вопрос, чем заменить keydata в Form_KeyPress?

READ ALSO
Добавление UserControl-ов по центру FlowLayoutPanel

Добавление UserControl-ов по центру FlowLayoutPanel

При добавлении UserControl-ов в FlowLayoutPanel, они прижимаются к левому краю

267
Поля подстановки в VisualStudio

Поля подстановки в VisualStudio

создал приложение WindowsForms, подключил базу данных, перетащил таблицы на форму, добавил и привязал BindingNavigatorтак как таблиц много, и все они связаны,...

214
Подавление CanExecute интерфейса ICommand UWP

Подавление CanExecute интерфейса ICommand UWP

На странице, реализующей вход в систему, есть кнопка с привязанной командойКоманда реализует интерфейс ICommand, а метод CanExecute проверяет возможность...

154