Hallo Wissende,
Ich weiß, dass diese frage total amateurhaft wirken muss, aber
ich stelle sie trotzdem:
wie ich eine bestimmte tastatur eingabe registriere (z. B.
Enter)
hab in der onlinehilfe sowas wie
public void OnKeyDown (object sender, KeyDownEventArgs e)
{
if (e.Key == Key.return)
{
…
}
}
gefunden hat aber leider net gefunzt^^
hoffe auf hilfe
gruß seeedy
Hallo!
Das, was Du oben an Code geschrieben hast, ist schon OK (außer
return statt Return und dass der Eventhandler üblicherweise
nicht public ist). Hast Du denn das KeyDown-Ereignis überhaupt
mit dieser Ereignisbehandlungsprozedur verknüpft?
Irgendwo müsste bei Dir auch
stehen:
theControlIWantToGetKeyboardEventsFrom.KeyDown
+= new KeyEventHandler(this.OnKeyDown);
(oder so
ähnlich, ich hab’ den genauen Typ des Delegates nicht im
Kopf).
Wenn das fehlt, kann es nicht funktionieren.
Außerdem könnte es noch sein, dass das betreffende
Steuerelement, das den Focus besitzt, das Ereignis „wegfängt“
und Dein Form darum das Tastenereignis nicht mehr bekommt.
Dafür gibt es eine KeyPreview -Property bei
Form.
Ich denke, eines davon müsste es sein.
Ansonsten: Mehr Code bitte…
Gruß,
Martin
Geht leider nicht so wie ich es mir vorgestellt hab,
hier noch mehr code:
private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Return)
{
webBrowser1.Navigate(richTextBox1.Text);
if (checkBox1.Checked == true)
{
www = System.Convert.ToString(webBrowser1.Url);
url = url + „\n“ + DateTime.Today.Now + " " + www;
richTextBox12.Text = url;
}
}
}
Und verlinkt hab ich das ganze so:
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.richTextBox1_KeyDown);
aber es passiert dann rein gar nichts wenn ich es ausprobiere,
gruß seeedy