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 : Problème de colonnes


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 : Problème de colonnes
    Hello,

    Je reviens à la charge avec le contrôle TableLayoutPanel (tlp).

    Soit je l'utilise mal, soit il est mal foutu au niveau du dimensionnement des colonnes (ça à l'air d'aller pour les lignes).

    N.B. : Il y a de fortes chances que ce soit la première option

    Je tente d'appliquer les conseils donner dans d'autres topics pour faire un interface graphique insensible aux changements de taille de la fenêtre.

    Je vais expliquer un peu cette image car elle est assez chargée au première abord.
    Il s'agit du bas d'une fenêtre. Il y a donc un contrôle GroupBox (se trouvant lui-même dans une ligne d'un tlp) contenant un tlp. Ce tlp contient 4 lignes (la dernière étant vide pour le moment) et 4 colonnes.

    Ce que je veux, c'est que la dernière colonne fasse 50% (par exemple) de la taille total du tlp. Pour les autres colonnes, j'ai mis autosize en me disant que ça allait remplir les 50% restant au mieux en tenant compte des 2 premières qui contiennent les abels et donc ont certaines contraintes de tailles et jouant donc sur la 3e colonnes qui elle contient des textboxes et est donc libre d'être redimensionnée.

    Je vais donc dans le tool de définition des colonnes et des lignes et je définis la taille de la dernière colonne sur 50%. Je clique sur ok et le résultat se trouve en pièce jointe.... Bref, ce n'est pas du tout le résultat attendu.

    Comment dois-je procéder pour avoir la dernière colonne qui fait un pourcentage donné du tlp ? Pas moyen de trouver cet info sur le net

    Merci d'avance,

    Griftou.
    Images attachées Images attachées  

  2. #2
    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'ignore si c'est la bonne façon de faire mais j'ai résolu mon problème en ajoutant un tlp de plus.

    Ce nouveau tlp se compose de 2 colonnes de 50% chacunes.

    Dans la première, j'ai mis le tlp qui me posait problème auquel j'ai retiré la dernière colonne.
    Dans la deuxième, j'ai mis le contenu de la dernière colonne du tlp qui me posait problème.

    J'attends l'avis de personnes plus expérimentée sur le sujet pour clore le topic.

    Griftou.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par griftou Voir le message
    Soit je l'utilise mal, soit il est mal foutu au niveau du dimensionnement des colonnes (ça à l'air d'aller pour les lignes).
    Je sais pas comment tu l'utilise, mais ce qui est certain c'est qu'il est très mal foutu... ça fait longtemps que j'ai abandonné l'idée d'utiliser ce "machin"

  4. #4
    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
    Argh !!!

    Je ne me suis mis que depuis hier suites aux conseils donnés ici.

    Je vais finir par céder et continuer à aligner mes contrôles à la main comme je faisais avant en bloquant la taille de la fenêtre lol.

    Surtout que c'est assez lourd à utiliser... Faut mettre des dockings un peu partout et après pour changer un contrôle de cellule, faut virer le docking, le colspan/rowspan aussi, changer le controles de place, remettre le docking et colspan/rowspan pour au final se rendre compte que ça ne va pas et tout refaire en sens inverse.

    Bref, jusqu'ici, j'essaie d'avoir de bonne pratique mais j'suis franchement pas fan !!

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par griftou Voir le message
    Je vais finir par céder et continuer à aligner mes contrôles à la main comme je faisais avant en bloquant la taille de la fenêtre lol.
    T'as pas besoin de bloquer la taille de la fenêtre... normalement en te débrouillant bien avec les Anchor et Dock, tu dois pouvoir obtenir la disposition que tu veux.

    Anchor indique les côtés qui restent la même distance ; autrement dit, si Anchor contient Left (on peut combiner plusieurs valeurs), la distance entre le bord gauche du contrôle et le bord gauche de son parent reste constante (idem pour les autres bords). Si Left et Right sont tous les 2 spécifiés, la largeur du contrôle est adapté pour que la distance entre les bords reste constante (idem pour Top et Bottom). Ca devrait permettre de réaliser ce que tu veux.

  6. #6
    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
    Citation Envoyé par tomlev Voir le message
    T'as pas besoin de bloquer la taille de la fenêtre... normalement en te débrouillant bien avec les Anchor et Dock, tu dois pouvoir obtenir la disposition que tu veux.
    Justement, la partie en gras pose problème ^^.

    Pour l'historique, Je n'ai jamais eu de formation .NET. Un jour on m'a dit "tu dois programmer en .NET maintenant" et c'est ce que j'ai fait. Je venais de delphi, VB6 et cobol (console et visuel).

    J'ai d'abord fait comme d'hab et ce n'est que récemment que je me suis mis à la POO. Alors les anchor et dock, oui je sais à quoi ça sert mais comment s'en servir efficacement, c'est une autre histoire^^.

    Mais j'ai enfin réussi à faire que notre employeur nous paie à mon collègue et à moi une formation .NET et SQL SERVER et ça a lieu en décembre.

    J'espère que cela va considérablement réduire mon taux de questions posées (qui n'est déjà pas considérable je pense).

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par griftou Voir le message
    Pour l'historique, Je n'ai jamais eu de formation .NET.
    Moi non plus
    J'ai commencé quand .NET est sorti, et j'ai appris sur le tas en lisant la doc... Mais de toutes façons les notions de POO n'ont pas grand chose à voir avec ton problème.

    La technique est toute simple : tu places tes contrôles dans le designer avec la position et la taille que tu veux pour la taille actuelle de la fenêtre, et quand c'est bon tu mets les Anchor qui vont bien pour que les distances restent constantes. En l'occurrence, les labels de gauche vont avoir Top|Left (pour rester collés à gauche), les boutons de droite vont avoir Top|Right (pour rester collés à droite), et les TextBox vont avoir Top|Left|Right, (pour être redimensionnés en même temps que la Form).

Discussions similaires

  1. [SQL] Problème de colonne
    Par TeTsLa57 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 24/07/2007, 14h34
  2. problème suppression colonne
    Par lolo_ici_et_la dans le forum Requêtes
    Réponses: 7
    Dernier message: 28/12/2006, 23h28
  3. Réponses: 5
    Dernier message: 08/12/2006, 14h42
  4. Problème de colonne
    Par roudoudouduo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/07/2006, 15h16
  5. [HTML] Problème de colonne
    Par in_flames68 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 14/06/2006, 11h28

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