Ich habe eine TextBox und möchte ein KeyPress-Event von einem anderen Formular weiterleiten.Ein KeyPress-Event weiterleiten
Bisher habe ich meine Form:
private readonly Action<KeyPressEventArgs> m_KeyPress;
public KeyboardForm(Action<KeyPressEventArgs> keyPress)
{
m_KeyPress = keyPress;
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
m_KeyPress(e);
base.OnKeyPress(e);
}
Und ein TextBox abgeleitet, die das Formular initialisiert:
var keyboardForm = new KeyboardForm(OnKeyPress);
keyboardForm.Show();
Nun wird die OnKeyPress-Methode (von der Form, wie erwartet, genannt, dann von der TextBox). Aber trotzdem passiert nichts ... wenn ich 'a' drücke, erwartete ich ein 'a' in meiner TextBox ...
Hat jemand eine Idee, was ist das Problem hier?
Es funktioniert nicht mit KeyDown
, auch, und die Befestigung an der regulären exposed Ereignis KeyPress
hilft mir auch nicht. Ich denke, dass das Problem der ausdrückliche Aufruf von OnKeyPress
ist. Ist es erlaubt?
Warum der Downvote? Es ist eine gute Frage. –