У меня есть 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);
}
и производный TextBox, который инициализирует форму:
var keyboardForm = new KeyboardForm(OnKeyPress);
keyboardForm.Show();
Теперь OnKeyPress-метод вызывается, как и ожидалось (в форме, затем TextBox). Но, тем не менее, ничего не происходит ... когда я нажимаю «a», я ожидал, что «a» появится в моем TextBox ...
У кого-нибудь есть идея, в чем проблема?
Он также не работает с KeyDown
и прикрепляется к обычному открытому событию KeyPress
не помогает мне. Я думаю, что проблема заключается в явном вызове OnKeyPress
. Это разрешено?
Почему downvote? Это хороший вопрос. –