私はTextBoxを持っており、別のフォームからKeyPressイベントを転送したいと考えています。KeyPressイベントを転送する
これまでのところ、私は私のフォームがあります。
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);
}
、フォームの初期化を導出テキストボックス、:今すぐ
var keyboardForm = new KeyboardForm(OnKeyPress);
keyboardForm.Show();
を予想通り、ONKEYPRESS-方法は、フォームの(呼び出されます次にTextBoxの)。しかし、何も起こりません...私が 'a'を押すと、 'a'がTextBoxに表示されることを期待しています...
ここで何が問題なのでしょうか?
KeyDown
とは動作しません。定期的に公開されているイベントKeyPress
に付いてもお手伝いしません。私は、問題はOnKeyPress
の明示的な呼び出しだと思います。許可されていますか?
なぜdownvoteですか?それは良い質問です。 –