[c#] Problem mit KeyDown

alex89ffm

Grünschnabel
Hallo Leute,

habe folgendes Problem:
Ich möchte ein Ereignis auf einen Tastendruck geschenen lassen. Es passiert jedoch nichts wenn ich eine Taste drücke.
DIe Keypreview Eigenschaft ist auf True gestellt, hier der Code:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Return)
{
MessageBox.Show("ENTER!");
}
}

Danke im VOrraus

Alex
 
Hi und willkommen im Forum

Ist der Focus auch auf der Form?
Wenn nein, dann bitte suchen, das Thema hatten wir nämlich schon einige Male ;)

Das Property KeyPreview muss übrigens bei allen Controls (die auch den Focus erhalten können) auf True stehen, wenn du das Event nur in der Form fangen willst
 
Hallo nochmal

es tut mir leid, aber in der Suche habe ich nichts nützlcihes gefunden. auch google liefert mir keing utes Ergebnis.

ich habe es versucht mit:

form1.activeform.focus();

geht jedoch nicht.

gibt es eine andere Methode den Fokus auf die Form zu bringen?
ich habe übrigens keinerlei steuerelemente oder textboxen auf de Forum, nur die reine Form.

mfg

alex
 
Hi

Also ich hab das eben mal nachgebaut und es funktioniert ohne Probleme:
C#:
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                MessageBox.Show("Test");
            }
        }
    }
Hast du mal geprüft, ob das Event überhaupt ausgelöst wird? (Breakpoint)
Wurde es richtig eingetragen? (wird das Abo im PropertyGrid richtig angezeigt)
 
Zurück