2013-02-08 3 views
-3

Я занимаюсь программированием 2 в школе, и мы работаем с профессионалом Visual Studio 2010.Как записать нажатие клавиши?

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

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

Как вы получаете программу регистрации нажатия клавиши?

Это то, что я до сих пор:

namespace keypress2 
    { 
    public partial class Form1 : Form 
     { 
     public Form1() 
     { 
      InitializeComponent(); 
      this.textBox1.KeyDown += textBox1_KeyDown; 
     } 

     private void textBox1_KeyDown(object sender, KeyEventArgs e) 
     { 

     } 
    } 
} 
+0

я пытался так много вещей, я даже не помню, что все, что я пытался –

+0

@ Привет, приветствую вас. Вы должны дать нам определенную проблему, которая у вас есть. Предположительно, Visual Studio поставляется с документацией - если есть что-то в том, что неясно, спросите об этом. –

+0

Что значит документация ??? это то, что я до сих пор имен keypress2 { общественный частичный класс Form1: Form { общественного Form1() { InitializeComponent(); this.textBox1.KeyDown + = textBox1_KeyDown; } частная пустота textBox1_KeyDown (объект отправителя, KeyEventArgs е) { }} } –

ответ

1

Существует элемент блога здесь, на обработку неблокируемому ввод с клавиатуры в C#

http://www.dutton.me.uk/2009/02/24/non-blocking-keyboard-input-in-c/

также, другой стек переполнения статьи на пульте управления клавиатурой

How to read a key pressed by the user and display it on the console?

Конечно, я делаю предположение, что вы делаете консольное приложение. Если вы делаете приложение WinForm, тогда ответ отличается.

+0

О, извините, я не указал tht, я использую оконную форму, и я даже не знаю, что я пробовал до сих пор. Я пробовал так много разных вещей, что это даже не смешно:/ –

+0

есть статья здесь, касающаяся обработки нажатий клавиш: http://social.msdn.microsoft.ком/Форум/о/WinForms/резьба/ff6b060a-8dc4-4d2c-8dd6-15619de377ee –

1

Чтобы захватить нажатие клавиши, вам необходимо использовать событие PreviewKeyDown.

Давайте просто скажем, что вы хотите переместить своего «Героя», который является кнопкой, внутри вашей формы.

Public Class Form1 
    Private Hero As New Button 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     Hero.Parent = Me 
     Hero.Enabled = False 
    End Sub 
    Private Sub Form1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown 
     Select Case e.KeyCode 
      Case Keys.Left 
       Hero.Left -= 5 
      Case Keys.Right 
       Hero.Left += 5 
      Case Keys.Down 
       Hero.Top += 5 
      Case Keys.Up 
       Hero.Top -= 5 
     End Select 
    End Sub 
End Class 

Вы также можете захватить другие ключи, такие как W, A, S, D в качестве альтернативных ключей для перемещения вашего персонажа, и Control + S (сохранить игру). : D

0

Для добавления события на любые элементы управления нажмите клавишу F4, чтобы открыть окно свойств и нажмите на значок Lightning Bolt:

enter image description here

Смежные вопросы