J'ai une zone de texte et j'aimerais transférer un événement KeyPress à partir d'un autre formulaire.Transférer un événement KeyPress
Jusqu'à présent, j'ai mon formulaire:
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);
}
Et une zone de texte dérivé, qui initialise le formulaire:
var keyboardForm = new KeyboardForm(OnKeyPress);
keyboardForm.Show();
Maintenant, la OnKeyPress méthode est appelée comme prévu (du formulaire, puis de la TextBox). Mais quand même rien ne se passe ... quand j'appuie sur 'a' je m'attendais à ce qu'un 'a' apparaisse dans mon TextBox ...
Est-ce que quelqu'un a une idée du problème ici?
Il ne fonctionne pas avec KeyDown
, aussi, et s'attachant à l'événement exposé régulier KeyPress
ne m'aide pas non plus. Je pense, que le problème est l'appel explicite de OnKeyPress
. Est-ce autorisé?
Pourquoi la downvote? C'est une bonne question. –