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

Développement Windows Discussion :

Résultat + unité qui suit derrière dans un seul label


Sujet :

Développement Windows

  1. #1
    Membre du Club
    Homme Profil pro
    developpeur
    Inscrit en
    Décembre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 141
    Points : 60
    Points
    60
    Par défaut Résultat + unité qui suit derrière dans un seul label
    Bonjour amis développeurs,

    J'ai beau chercher un peu partout je ne trouve pas de solution pour afficher dans un label un résultat + son unité qui suit derrière

    A l'heure actuelle j'utilise donc 2 labels : le 1er est pour le résultat et le second placé derrière est l'unité (ex: euros)
    Mais lorsque mon résultat de label dépassé 5 chiffres et bien il recouvre le label2 et l'unité n'est plus visible

    Du coup je me demande si il n'est pas possible d'obtenir dans un seul label1 : à la fois mon résultat + l'unité qui suit ??

    Est-ce que cela est envisageable ??

    Merci à tous ceux qui pourront m'aider car là je sèche

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Points : 18
    Points
    18
    Par défaut
    Bonjour

    Juste une idée comme cela, tu ne pourrais pas calculer le résultat à afficher qui te permettrait
    1. de n'utiliser qu'un seul Label
    2. de mettre peut être cette méthode dans une classe statique pour formatter toujours de la même manière en écrivant la code qu'une seule fois

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // utiliser le résultat de cette méthode pour afficher
    public String MontantToString(Int32 montant)
    {
       if ( montant = null)
       {
         return " €" ;  // ou autre chose qui signifie que la valeur n'est pas renseignée
       }
       return montant.ToString() + " €" ;
    }
    Cordialement

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour Jérémy,

    En fait avec 2 labels c'était possible à l'aide d'un "TableLayoutPanel". Ce composant fonctionne un peu comme les tables du HTML. Tu définis alors la largeur totale que tu veux, tu mets 2 colonnes (une pour le montant et une où il y aura toujours le symbole d'unité) et une ligne. Largeur de chaque colonne tout en automatique et hauteur de ligne à 100%.

    Sinon effectivement s'il ne t'importe pas de séparer la valeur et l'unité, la solution de "Holly smoke" est bien... Hormis le détail suivant : une variable de type "Int32" ne peut pas être nulle, mais bon ce n'est qu'un détail que le compilateur t'aurait dit.

  4. #4
    Membre chevronné

    Homme Profil pro
    Appui fonctionnel senior
    Inscrit en
    Juin 2007
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Appui fonctionnel senior
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 461
    Points : 2 211
    Points
    2 211
    Par défaut
    Bonjour,

    Je vous propose une solution plus courte et, en théorie, un peu plus performante que celle de Holly Smoke :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public String MontantToString(Int32 montant)
    {
        return String.Format("{0} €", montant);
    }
    A noter que si l'unitée est une somme monétaire, il est directement possible d'utiliser la fonction ToString() de la valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public String MontantToString(Int32 montant)
    {
        return montant.ToString("c"); // "c" pour "concurrency"
    }
    A noter dans ce second cas que le formatage se fera en fonction de la localisation de l'utilisateur. Vous pouvez avoir plus d'informations à ce propos sur la page de la MSDN.

Discussions similaires

  1. [Débutant] Résultat + unité qui suit derrière dans un seul label
    Par jeremyvb11 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/03/2014, 13h47
  2. Réponses: 2
    Dernier message: 31/03/2010, 15h02
  3. Réponses: 5
    Dernier message: 21/06/2007, 08h49
  4. Réponses: 2
    Dernier message: 12/06/2006, 12h35

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