Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 2007
-
6 avril 2005 à 17:10
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 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.
Private Subobject_KeyUp([index As
Integer,] keycodeAs 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.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 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.
Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 20073 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.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 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.
Lucyberad
Messages postés414Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention26 juillet 20073 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 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à
<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.