[vb.net] keyup (ou keydown)

Résolu
Lucyberad Messages postés 414 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 26 juillet 2007 - 6 avril 2005 à 17:10
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 8 avril 2005 à 09:01
salut a tous !




quelq'un pourrait me dire comment on fait pour attraper la pression d'un touche.


j'ai regardé la msdn que voici:


Syntaxe



Private Sub Form_KeyDown(keycode As Integer,
shift As Integer)




Private Sub object_KeyDown([index As
Integer,] keycode As Integer, shift As
Integer)




Private Sub Form_KeyUp(keycode As Integer,
shift As Integer)




Private Sub object_KeyUp([index As
Integer,] keycode As Integer, shift As Integer)




mais voila c'est tellement
clair que quand je le mets dans mon code ben rien ne se passe. (je
previent: keypreview est DEJA a true)


je suis en vb.net



j'arrive a le faire avec keypress en mettant ceci:


Private
Sub form1_KeyPress(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.KeyPressEventArgs)
Handles Me.KeyPress




mais voila il s'avere que keypress ne gere pas la touche suppr
(celle qui m'interesse) car le code est renvoyé en ascii. Ce que
j'aimerais c'est le keycode decrit dans la msdn mais quand je mets le
code de la msdn il reagi pas d'un poil.



d'avance: merci !

@+

L U C Y I3 E R @ D
A voir également:

7 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
6 avril 2005 à 18:17
Personnellement j'ai la déclaration suivante (voir MSDN : control.keydown)

Les déclarations que tu donne semble plutot etre des déclaration VB6





Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown



Tu récupère le code brut de la touche avec e.keycode (46 pour Suppr ou si tu prefère Keys.Delete)

e.keydata te donne le code de la touche associé aux modificateurs de touches (crtl, shift, alt,...)



Je ne sais pas comment tu récupère les déclarations de tes évènement,
mais l'environnement VB le fait automatiquement habituellement. En mode
"design", tu doubleclick sur ton controle, le mode "code" est activé
avec l'évènement par défaut déjà créer, tu plus que le code à mettre.
Si c'est pas le bon évènement, tu déroule la liste de choix de
droite au dessus de ton code et tu choisi ton évènement. Ainsi plus de
problème de déclaration, il te reste juste à coder tes actions.



Si j'ai bon souvenir, tu es sous NET2005 peut-etre que lui ne
fonctionne pas comme ça, ce qui semblerait un peu dommage quand même.




<hr size="2" width="100%">Si le cerveau était assez simple pour que nous puissions le comprendre,

nous serions assez bête pour ne pas le comprendre malgré tout.
3
Lucyberad Messages postés 414 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 26 juillet 2007 3
6 avril 2005 à 20:22
c'est bien la premiere chose que j'ai regardé dans la reponse c'est qui
l'avait fait, et la je me dit: c'est casy et je suis donc dans de
bonnes main et c'est pas faux: tu vien de m'aider dans un probleme qui
me fesait chier depuis plusieurs jours

donc: MERCI !



sinon t'as une bonne memoire et je suis en vb 2005 et les seules choses
qui change sont les graphisme du programme, des controle qu'on pose, et
une aide beaucoup plus conviviale et attirante. (mais inoperante dans
ma version express, je compte me mettre dans une bonne version quand il
sortira) sinon j'ai vb.net 2003 architect donc avec la msdn inclue et
c'est de la que j'ai pris le code (sachant que celle de 2005 c'est de
la merde)



sinon pour les evenment automatique, j'ai bien fais meme plusieur fois
avec les 2 combobox d'en haut: 1ere combobox: (form1
events) 2eme: keyup

et il me fais ce code: Private Sub Form1_KeyUp(ByVal sender As Object,
ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp

que ce soit avec la 2003 comme la 2005 c'est pareil.

il fonctionne mais e est en ascii donc ca ne gere pas suppr. j'ai donc
traficoté comme je pouvais avec le code msdn d'en haut mais que dalle
j'y suis pas parvenu, c'est pour ca que je poste ici.



apparament le probleme vien du Me qu'il faut donc remplacer par mybase.



encore: MERCI !


@+

L U C Y I3 E R @ D
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
6 avril 2005 à 20:47
Je viens d'essayer avec ta déclaration (Me.KeyUp), et je ne peux même
pas exécuter le code. Il bloque à la compilation sur le "Me" en me
mettant "Mot clé non valide en tant qu'identificateur." et le "Me" est souligné.



Donc c'est bien là que ça bloque.



Si cette déclaration a été faite automatiquement par Net2005, ça fait
une différence de plus avec Net2003 (et visiblement même un bug).



Quant aux "plusieurs jours", j'avais bien aperçu quelqu'uns de tes
messages, mais j'avais pas la possibilité de te répondre ces jours-ci . Je pensais que quelqu'un arriverais à te donner une bonne piste.






<hr size="2" width="100%">Si le cerveau était assez simple pour que nous puissions le comprendre,

nous serions assez bête pour ne pas le comprendre malgré tout.
0
Lucyberad Messages postés 414 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 26 juillet 2007 3
6 avril 2005 à 23:41
pour le plusieur jours t'inkiete pas j'ai fais plein d'autre truc que
je savais deja (ou que je savais pas mais que j'ai trouvé en code
source comme par exemple le merlin de office il est trop drole ^^)



sinon j'ai reverifié avec VS 2003 et t'as raison y'as bien une
difference entre les deux. Mais finalement c'est un peu de ma faute car
j'utilise VS 2005 express en version beta (je l'aurais pas gratos
sinon).

mais en tout cas je l'avais deja en tete mais je vais me l'acheter en
une version meilleure (genre a partir de la beta2 en architect si ca
sort dans cete version ou en pro...) comme elle sont moins buggées. Et
puis pourquoi attendre alors que les version superieure sont avec du
moment que l'on prend la license qu'on commence a partir de la beta2 ou
de la version finale ca change rien.

@+

L U C Y I3 E R @ D
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
7 avril 2005 à 09:09
<!--StartFragment --> Les prix envisagés par MS pour Net2005 ont été publiés il y a quelques jours :



<LI>Visual Studio 2005 Professional Edition: $799 (upgrade: $549) </LI>
<LI>Visual Studio 2005 Tools for the Microsoft Office System: $799 (upgrade: $549)</LI>
<LI>Visual Studio 2005 Standard Edition: $299 (upgrade: $199)</LI>
<LI>Visual Studio 2005 Express editions will be $49.</LI>Et oui la version Express sera payante, mais MS n'arrive même plus à nous étonner sur ce point là

Toutes les infos ici : http://www.microsoft.com/presspass/press/2005/mar05/03-21VS2005PR.asp

infos trouvées sur le blog de Morpheus : ici


<HR width="100%" SIZE=2>
Si le cerveau était assez simple pour que nous puissions le comprendre,
nous serions assez bête pour ne pas le comprendre malgré tout.
0
Lucyberad Messages postés 414 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 26 juillet 2007 3
8 avril 2005 à 01:18
merci ca m'interesse et en fait pour tout t'avouer je ne connaissais
pas les prix mais il s'avere qu'en fait ben ca fais mal au ***

heuresement que mon brother peu m'en ramener de son taff... comme la version 2003

finalement a 17 ans on peut pas s'offrir des truc a 500€

mais c bien d'avoir quand meme une bonne reduc par ce dernier...

@+

L U C Y I3 E R @ D
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
8 avril 2005 à 09:01
Je te rassure, à 30ans on peut pas forcément s'offrir des trucs à 500€ (y a plus important) et ça fait aussi mal au ***.



N'ayant pas encore vraiment commencer NET2003 je crois que le 2005 va attendre encore un peu.

A moins qu'une copie me tombe tout à fait maladroitement et involontairement au fond de la poche.




<hr size="2" width="100%">Si le cerveau était assez simple pour que nous puissions le comprendre,

nous serions assez bête pour ne pas le comprendre malgré tout.
0
Rejoignez-nous