C++ Tastatureingabe

RoemerV

Grünschnabel
Hallo,
bei meinem Programm soll auf Pfeiltaste was passieren,
Code:
private: System::Void Form1_KeyDown(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e)
 {
if (e->KeyCode == Keys::Up)
  tu_irgendwas();

			 }

doch es passiert nichts. Was mach ich falsch?
 
Danke für deine Antwort,
hat sie glaub ich nicht, hab jetzt ein bisschen rumexperementiert, aber es funktioniert immer noch nicht.
Wie mache ich das genau?
einfach nur this->Focus();
 
Hi

Wenn du die Form direkt anklickst, erhält sie den Focus. Setz am besten mal eine Breakpoint in den EventHandler und schau, ob diese überhaupt ausgeführt wird und was als KeyCode geliefert wird.
Wenn du Controls auf der Form hast und diese den Focus haben können, solltest du bei der Form das Property KeyPreview auf true setzen. So erhält die Form eine "Vorschau" darauf, welches Key-Event an das entsprechende Control gesendet wird
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.keypreview.aspx
 
Bei mir Funktioniert das nicht!

Ich habe KeyPreview auch auf true gesetzt, es funktioniert jedoch nicht!

Mein Code:
Code:
private: System::Void Form1_KeyDown(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e)
 {
	 
	 if (e->KeyCode == Keys::Alt) {
		MessageBox::Show("Hallo", "Eingabe", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
	 }
 }

Warum geht das nicht?
 
Hast du auch ein Eventhandler erstellt?

Code:
this->KeyDown += gcnew System::Windows::Forms::KeyEventHandler(this, &Form1::Form1_KeyDown);
 
Zurück