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

C# Discussion :

Cote user : redimensionner la liste d'une combobox pour tout afficher


Sujet :

C#

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Points : 240
    Points
    240
    Par défaut Cote user : redimensionner la liste d'une combobox pour tout afficher
    Bonjour,

    Le probleme:
    Lorsque j'ai une combobox dans ma Form et que dans cet combobox j'ai des items qui sont plus grand que la largeur de la combox, l'item est tronque a l'affichage de la liste(une fois qu'il est selectionne aussi mais bon ca me derange moins):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Item.Add("Forum developpez.com");
    Item.Add("FAQ pour tout le monde");
    Je verrai lorsque j'afficherai la liste:
    "Forum develop..."
    "FAQ pour tout..."
    Et je voudrais pouvoir faire comme dans Visual Studio, quand on demande la completion, on peut resizer la liste qui s'affiche. Mais je sais pas du tout si c'est possible?

    Merci

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    salut

    pour la largeur, automatiquement, je ne crois pas, par contre, tu as la propriété DropDownWidth qui peut aider

    Après, si tu veux que des "..." soit ajouter, je pense qu'il te faut le gérer toi même (en surchargeant le OnPaint) et en mettant le DrawMode à OwnerDrawFixed par exemple

    Pour la complétion, tu as les propriétes AutoCompleteMode et AutoCompleteSource qui peuvent t'aider !

    The Monz, Toulouse

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Points : 240
    Points
    240
    Par défaut
    Salut,

    DropDownWidth repond (en partie) a ma question, mais sinon j'ai l'impression que ce que je voulais n'existe pas vraiment.

    Merci en tout cas

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    A defaut, tu pourrais avoir une classe genre :
    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
     
    public class MyItem
        {
            private string Name;
     
            public string GetFullName()
            { return Name;}
     
            public MyItem(string name)
            {
                Name = name;
            }
     
            public override string ToString()
            {
                if (Name.Length > 10)
                {
                    return Name.Substring(0, 10) + "...";
                }
                else
                {
                    return Name;
                }            
            }
        }
    Et faire du combobox1.Items.Add(new MyItem("ma chaine trop longue blablablabal");

    La combo utilise le ToString() des objets inclus dans les items. Donc, si tu fournis un objet qui fait le boulot de "réduire", ca ira

    Est-ce plus dans le sens de ce que tu cherchais ?

    The Monz, Toulouse

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Points : 240
    Points
    240
    Par défaut
    Une image valant plus qu'un long discours.

    Le curseur est redessine, mais je pense que ça se voit . Et donc je pensais qu'il serait possible via une propriété ou un control existant d'avoir la même chose, mais après quelque vaine recherche il semble qu'il faudrait le refaire, donc tant pis.
    Car en fait souvent on voit pas toute la ligne (par exemple pour les imprimantes), alors quand c'est un nom a rallonge, c'est un peu embêtant...

    Merci pour ton aide en tout cas, je garde ton code et a l'occasion j'essaierai de faire quelque chose de propre.

    [Edit] donc le but ce serait d'avoir le moyen de resizer directement en live la liste affiché!
    Images attachées Images attachées  

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    ok

    cela dit, la fonctionnalité d'agrandir la dropDown a surement déja été faite sur codeproject, ou codeguru ou bien dans des composants payants ?

    Ca doit pouvoir se trouver, après, combien cela coutera ? mystère !

    The Monz, Toulouse

Discussions similaires

  1. largeur d'une zone de liste d'une combobox
    Par NELAIN dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/12/2008, 14h09
  2. [D6] Agrandir largeur zone liste d'une ComboBox
    Par Lung dans le forum Delphi
    Réponses: 4
    Dernier message: 29/01/2007, 10h06
  3. [VBA E] ajout conditionnel dans la liste d'une combobox
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/08/2006, 20h28
  4. [VBA E] creation dynamique de la liste d'une combobox
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/06/2006, 13h12
  5. [VB6] largeur d'une zone de liste d'une combobox
    Par Nick13 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/08/2004, 12h30

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