avant de me … je sais que ce sujet n’est pas intéressant , mais ça serait sympa si qlq un me donne un coud de main
comme l indique le titre je veux convertir les caractaires saisié dans un textbox en majiscul ,
je suis pas doué en en programmation evenemmentiel ( vb.net ) :o(
voila ce que j ai …
txt_code c’est le nom du textbox
Public car As String
Private Sub txt_code_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_code.KeyPress
car = txt_code.Text ( je pense que cet affectation va récuperé le char tapper )
txt_code.Text = "" ( vider le textbox )
txt_code.Text = UCase(car) ( convertire le char en maj et le affecter )
car = ""
End Sub
En fait, ton problème vient de ce que tu utilises l’évènement keypress(), qui se déclenche avant que le caractère ne soit véritablement écrit dans ton textbox, ce qui fait que tu ne récupères rien.
Une solution (il y en a d’autres) est d’utiliser change() :
En principe, ton code pourrait se réduire à :
Private Sub txt_code_Change()
txt_code.Text = UCase(txt_code.Text)
End Sub
En fait, ca ne fonctionne pas, tout simplement parce que tu modifies à chaque fois la valeur de txt_code, donc tu fais à nouveau appel à l’évènement change etc …
Il faut donc limiter les changements aux cas où ils sont indispensables :
Private Sub txt_code_Change()
car = UCase(txt_code.Text)
If car <> txt_code.Text Then
txt_code.Text = car
End If
End Sub
NB : pas besoin de “nettoyer” la variable car, ce sera fait automatiquement à la sortie de la fonction
merci de ta reponce gcc
la solution que tu ma donner jlé deja fai et elle marche bien mais le probleme c’est que je suis obligé d’utilisé l’evenement keypress
:pfff:
Je n’ai pas dit “es-tu obligé d’utiliser keypress()” mais qu’est-ce qui t’oblige à utiliser keypress(), ce n’est pas tout à fait la même chose
Non, en informatique, il n’est jamais obligatoire d’utiliser une fonction (ne serait-ce que parce que tu peux la réécrire toi-même).
Maintenant, si une contrainte extérieure (par exemple un professeur) impose des limites au système, ce serait bien de le mentionner dans l’énoncé du problème, pour éclairer un peu ceux qui cherchent à t’aider (je dis bien aider, pas faire à ta place …)
Pour en revenir à de choses plus concrètes, quand tu entres dans la fonction keypress(), tu as à ta disposition l’argument KeyANSI qui contient la valeur de la touche enfoncée. C’est de ce côté qu’il faut que tu cherches