Bonjour
J'ai une class qui hérite de la class label
Est il possible de lui ajouter un evenement keypress ?
Merci
Bonjour
J'ai une class qui hérite de la class label
Est il possible de lui ajouter un evenement keypress ?
Merci
Salut,
au moment de l'initialisation tu peux écrire :
il faut que la fonction monHandlerKeyPress soit défini comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part instanceDeMaClasse.KeyPress += new System.Windows.Forms.KeyPressEventHandler(monHandlerKeyPress);
(la portée n'a pas d'importance en soit, il faut juste qu'elle soit visible pour ton contrôle ... je crois)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public void monHandlerKeyPress(object sender, KeyPressEventArgs e) { // des trucs à faire }
Je ne pense pas que c'est possible
Après avoir lu
http://forums.codeguru.com/showthrea...label-control!
Je ne connais pas la finalité mais... ci-dessous, les 2 idées qui me viennent.
solution 1 : tu superpose une textbox au label. Un coup de visible sur le focus du label.
solution 2: remplacer le label par une textbox sur laquelle tu enlève les bordures. ça aura l'apparence d'une bière mais avec l'effet de la pression (du clavier).
J'avoue que j'ai pas creuser, je suis juste allé sur la MSDN voir le description de System.Windows.Forms.Label (qui contient l'event ... hérité de Control mais qui n'est d'ailleurs même pas proposé dans le designer de VS).
Il est vrai qu'un contrôle qui ne peut pas avoir de focus va difficilement capter les events clavier.
j'ai demandé aussi au forum microsoft
et obtenu les réponses suivantes
A standard label control has several keyboard events which are at the API level and are not intended for used directly in code. Think about it, there is nothing a user can do to raise such event which would be a KeyPressEventHandler (delegate).
So the answer is yes but to no avail and the real answer is no using the information above.As Kevin has said, yes you can but, a Label is not made to capture the keyboard focus like a TextBox or other focus-able control that uses Key Presses so, you would need to add code that would make it accept focus. Depending on what you are using the label for there may be a better choice or it may even be better to Inherit from Control or and create the code to make it function the way you want.
Partager