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

Windows Forms Discussion :

Aligner du texte dans une listbox


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 8
    Points : 10
    Points
    10
    Par défaut Aligner du texte dans une listbox
    Bonjour à tous,

    Voilà je remplis une listbox avec différents champs d'une BDD:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.Items.Add(en.Current("num_reg_nat") & "  |  " & en.Current("nom") & "  |  " & prenoms(0))
    Ce sont 3 string, de taille variables et donc les "colonnes" de ma listbox ne sont pas alignées.

    J'ai essayé avec un string.format("{0,-n} {1,-n2} {2,-n3}",...) mais ca ne marche pas.

    J'ai tenté de transformer mes string en tableaux de char mais alors je ne sais pas concaténer ma chaine.

    J'ai aussi essayé d'utiliser une listview mais je n'y suis pas arrivé :s


    Est-ce que quelqu'un aurait une solution ?
    Merci d'avance pour vos réponses

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Tu parcours une première fois tous les champs "num_reg_nat" qui rentrent dans ta ListBox pour trouver celui qui a le plus de caractères.

    Imaginons que la variable est max_num_reg_nat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim v_num_reg_nat_temp = en.Current("num_reg_nat").Clone 'Tu crées une variable qui prendra le champ et les espaces si nécessaire
    If v_num_reg_nat_temp.Length < max_num_reg_nat Then
                While v_num_reg_nat.Length < max_num_reg_nat
                    v_num_reg_nat_temp += " "
                End While
    End If
    Bien sur tu fais le test pour nom et prénom.

    Et pour l'affichage tu remplaces en.Current("num_reg_nat") par la variable créée v_num_reg_nat_temp.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 311
    Points : 337
    Points
    337
    Par défaut
    Sinon tu utilises une ListView pour avoir les colonnes

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    voilà j'ai insisté avec la listview et effectivement, cela marche nikel xD

    Merci pour vos reponses

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

Discussions similaires

  1. pb pour alignées des entrées dans une listbox
    Par zx10 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/11/2006, 19h30
  2. aligner du texte dans une zone de texte
    Par hammag dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 28/07/2006, 15h56
  3. [VBA] aligner le texte dans une cellule
    Par Rakham dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/01/2006, 17h07
  4. Réponses: 5
    Dernier message: 15/04/2005, 14h22
  5. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25

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