Caractaire maj dans un texbox

salut a tous ,

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

je sais pa pk ça marche pas :nexath

merci pour votre attention

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:

merci

Qu’est-ce qui t’oblige à utiliser keypress() ?

oui obligé d’utilisé keypress() :smiley:

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

merci de ton aide gcc