IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

conseil sur le parametrage d'une textbox


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut conseil sur le parametrage d'une textbox
    Bonjour,
    Mon appli possède plusieurs textbox que j'ai paramétré ainsi (exemple pour la textbox S):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Private Sub S_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles S.GotFocus
            S.BackColor = Color.DarkCyan
    End Sub
     
    Private Sub S_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles S.Leave
            S.Text = S.Text.Replace(".", ",")
            With oeil(indiceoeil)
                .valS = Convert.ToDouble(S.Text)
                S.Text = .valS.ToString("0.00") ' 2 chiffres après la virgule
                SIMAGE.Text = .valS.ToString("0.00")
            End With
    End Sub
     
    Private Sub S_Textleave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles S.Leave
            S.BackColor = Color.LightSlateGray
            If S.Text < -10 Or S.Text > 6.0 Then
                If MessageBox.Show("La valeur S doit être comprise entre -10.00 et +6.00", "Données hors plage", MessageBoxButtons.OK, MessageBoxIcon.Warning) Then
                    S.Focus()
                    S.Text = ""
                    S.BackColor = Color.DarkCyan
                    C.BackColor = Color.LightSlateGray
                End If
            End If
    End Sub
    -Donc au départ ma textbox se met en darkcyan dés qu'elle a la focus.
    -J'entre la valeur, le séparateur est la virgule et quand je tabule, la valeur entrée s'arrondit a deux décimale (Par exemple j'entre -4, je tabule et ca affiche -4.00
    - Quand je tabule, donc la textbox perd le focus, ca couleur redevient celle d'origine et je borne la valeur S

    Mon souci :
    Tout fonctionne TANT que j'entre des valeurs rondes (-4 ou -3 ou -2 ...) mais si j'entre une valeur décimale style -3.21 ou pire encore, -3.2145 tout plante en me disant
    La conversion de la chaine "-3.2145" en type double n'est pas valide
    Moi je voudrais, si j'entre -3.2145, avoir -3.21 des que je tabule ou même encore mieux, quand j'entre la valeur, les caracteres -3,21 s'ecrivent mais pas 45

    Je galère pour trouver une solution, vos lumières m'aideraient vraiment beaucoup

    Merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    327
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 327
    Par défaut
    Bonjour,
    Ton problème ce situe ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If S.Text < -10 Or S.Text > 6.0 Then
    Tu compares un texte est une valeur. Utilise la methode Convert.ToDouble(S.Text) pour convertir en double.
    Petite remarque : Pour le nommage, il faut commencer par une minuscule car c'est un champ private et c'est bien de commencer aussi par le type pour textbox : txtXXX.

    Regarde aussi du cote des textbox avec masque.
    Je sais qu'il en existe des prédéfini pour l'ip ou autre.
    Il doit y en avoir pour les décimaux.

    Bonne chance.
    Guillaume

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    j'avoue ne pas trop comprendre ce que tu veux dire, par exemple, j'ai pour d'autres textbox, effectué une conversion dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Z.Text = Convert.ToDouble(Y.Text).ToString("0.00")
    Mais dans ce cas, je dis en francais : "La valeur de Z est egale a celle de Y convertie". J'ai donc deux textbox.

    La, je n'ai que S.Text a convertir mais je fais quoi ? surement pas cela si ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    S.Text = Convert.ToDouble(S.Text).ToString("0.00")
    et je la mets ou cette conversion, a chaque "private sub" ?

    Excusez mon ignorance mais je reprends le developpement d'une appli commencée par un developpeur et moi je ne suis pas developpeur, je galère donc

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 401
    Par défaut
    Pourquoi ne prend tu pas un champ de type NumericUpDown à la place d'une textbox ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    Bonsoir Ricil,
    Eh bien figures toi que d'autres ont eu la même suggestion que toi et il me semble effectivement que ce soit la solution la meilleure, j'ai essaye mais je n'ai absolument rien compris à la manière de faire. Peut être qu'un exemple concret me permettrait de résoudre ce problème bien empoisonnant, au moins de comprendre ce que je fais ....

    Merci

  6. #6
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    problème résolu, j'ai finalement trouvé ... grâce a vos suggestions a tous
    encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conseil sur l'achat d'une imprimante multifonction
    Par loki dans le forum Matériel
    Réponses: 1
    Dernier message: 20/07/2007, 20h39
  2. Conseil sur la creation d'une table
    Par rohrim dans le forum Administration
    Réponses: 4
    Dernier message: 08/06/2007, 12h19
  3. Conseil sur le choix d'une distribution
    Par konkin dans le forum Distributions
    Réponses: 5
    Dernier message: 26/10/2006, 07h37
  4. Conseil sur la manipulation d'une string?
    Par Jayceblaster dans le forum Delphi
    Réponses: 6
    Dernier message: 13/07/2006, 14h29
  5. Conseil sur l'extraction d'une string dans une string
    Par Mickey.jet dans le forum Delphi
    Réponses: 3
    Dernier message: 02/06/2006, 14h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo