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 :

TableLayoutPanel : redimensionner les colonnes à l'exécution


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut TableLayoutPanel : redimensionner les colonnes à l'exécution
    Hello,

    Je rencontre des difficultés à redimensionner correctement les colonnes d'un TableLayoutPanel à l'exécution...

    J'y mets un certain nombre de radiobuttons en fonction du nombre d'objets que je récupère dans la DB (un par colonne) plus un bouton dans une dernière colonne.

    L'idée serait de redimensionner toutes les colonnes pour quelles aient la même taille.

    Au niveau du nombre de colonnes et d'y placer les contrôles, pas de souci. Par contre, pour la taille, ça ne marche pas XD.

    Voici ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            'Dim columnWidth As Single = CType(Math.Floor(100 / percentagesDemo.Count + 1), Single)
            For Each cs As ColumnStyle In tlpDemo.ColumnStyles
                'cs.SizeType = SizeType.Percent
                cs.SizeType = SizeType.AutoSize
                'cs.Width = columnWidth
            Next
    Comme vous pouvez le voir, j'ai essayé plusieurs choses. J'ai tenté de calculer moi-même le pourcentage à appliquer aux colonnes. J'ai tenté de mettre la largeur à 100% pour toutes les colonnes (et de laisser le tlp se démerder comme il le fait si bien en mode design).

    En mettant autosize, j'ai un bout en largeur qui n'est pas utilisé.

    Bref, je sèche un peu.

    Voici ce que cela donne en mettant le SizeType en pourcent et Widt sur 100.
    Nom : Untitled.png
Affichages : 1726
Taille : 79,0 Ko
    N.B. : Le tlp se trouve en plein milieu juste au dessus du DataGridView

    Quelqu'un a-t-il déjà fait cela ??

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Le TLP est bien avec les radios bouttons ?

    Sur l'image on dirait que la case du premier radio button possède 60% et les autres se partagent le reste... C'est la cas ou juste une illusion ?

    Et une fois l'affichage terminé, tu as essayer de mettre un espion sur le TLP pour constater le vrai % appliqué à chacune d'entres elles ?

  3. #3
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    J'ai ajouté ceci après la boucle qui fait le resize :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            For Each cs As ColumnStyle In tlpOwn.ColumnStyles
                MsgBox(cs.SizeType.ToString & "-" & cs.Width.ToString)
            Next
    Et il ne m'affiche qu'une seule boite... Comme s'il n'y avait qu'un seul ColumnStyle...

    Je n'y comprends plus rien... Y a une instruction à faire pour "sauvegarder" les columnstyles ???

  4. #4
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Non, j'ai tester ta boucle et elle marche très bien pour moi.

    Il m'a afficher les bonnes valeurs de mes 3 colonnes.


    Question bête du coup : Tu n'aurais pas mis un TLP dans un autre TLP ?

  5. #5
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Et j'ai une suggestion, car le TLP demande parfois d'imagination pour arriver à avoir le visuel que l'on souhaite:

    Tu as disons, X RadioBoutton à mettre :

    tu pourrais créer :

    - une colonne vide à 50%
    - x colonnes à Autosize (donc pile de la bonne taille)
    - et une dernière colonne vide à 50%

    Ce qui fait que :
    - Ton TLP va remplir toute la largeur grâce aux colonnes en %
    - tes radiobouttons seront centré au milieu vu qu'il voudra mettre la première et la dernière colonne à la même taille...

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    regarde le code généré par vs en mode design quand tu arrives à égaliser les colonnes, tu devrais alors comprendre la syntaxe à utiliser
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. [JavaScript] Redimensionner les colonnes d'un tableau ( drag and drop )
    Par le_chomeur dans le forum Contribuez
    Réponses: 2
    Dernier message: 15/01/2010, 09h09
  2. Redimensionner les colonnes et les lignes d'un stringGrid
    Par codial dans le forum Composants VCL
    Réponses: 12
    Dernier message: 29/09/2009, 15h50
  3. Redimensionner les colonnes de JTable
    Par lamis2009 dans le forum Composants
    Réponses: 1
    Dernier message: 21/06/2009, 02h04
  4. Redimensionner les colonnes d'une listview
    Par Gaetch dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/07/2007, 10h36
  5. List box : Comment redimensionner les colonnes ?
    Par Invité dans le forum IHM
    Réponses: 1
    Dernier message: 26/06/2007, 07h24

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