none
Управление с помощью клавиатуры RRS feed

  • Вопрос

  • Хочу чтобы некий объект, расположенный на форме, двигался при нажатии на клавиши.

    Пробовал делать так:

    Добавил на форму PictureBox, затем в обработчике события KeyDown написал:

    switch (e.KeyCode)
                {
                    case Keys.Left: pictureBox1.Left -= 1; break;
                    case Keys.Right: pictureBox1.Left += 1; break;
                }

    Теперь при нажатии стрелок влево или вправо мой PictureBox двигается соответственно влево и вправо.

    Но, он двигается на 1 пиксель, потом возникает задержка, а потом движение продолжается. Нормальное поведение клавиатуры - подумал я. Очевидно такой способ решения для моей задачи не подходит.

    Я думаю, надо организовать опрос клавиатуры в бесконечном цикле, и при нажатии соответствующих клавиш выполнять движение объекта. Но как это сделать ума не приложу.

    Подскажите, пожалуйста, как организовать опрос клавиатуры без использования событий KeyDown и KeyPress либо другие варианты.

    5 января 2013 г. 19:03

Ответы

  • Посмотрите эту тему. Там как раз есть ответ и на ваш вопрос и заодно решение проблемы с которой вы бы столкнулись далее, решая вашу задачу.

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    5 января 2013 г. 20:45
    Отвечающий

Все ответы