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 :

SplitContainer qui ne se redimensionne plus avec la fenêtre


Sujet :

VB.NET

  1. #1
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 932
    Points : 1 267
    Points
    1 267
    Par défaut SplitContainer qui ne se redimensionne plus avec la fenêtre
    Bonjour,

    Avec VB express 2010 j'ai un comportement assez bizarre avec un SplitContainer :

    - j'ai une fenêtre qui ne contient qu'un SplitContainer et une barre de menu

    - le séparateur du SplitContainer est horizontal

    - chacune des deux parties du SplitContainer contient une PictureBox, dont la propriété Dock est égale à Fill (une des PictureBox est la vue XY d'un dessin, l'autre la vue ZX)

    - le SplitContainer a sa propriété Dock égale à Fill, il rempli donc la fenêtre

    Quand je redimensionne la fenêtre, tout se passe bien (le SplitContainer s'adapte à la taille de la fenêtre, et les PictureBox s'adaptent à la taille du SplitContainer)...

    ...sauf que lorsque la hauteur de la fenêtre est inférieur à une certaine taille (706 pixels), ça ne marche plus (il y a comme un "bloquage" sur la hauteur de la fenêtre)

    J'ai pu faire des tests et j'ai déterminé que, lorsque je change la hauteur de la fenêtre avec la souris :
    - si la taille de la fenêtre > 706 pixels, les fonctions Frm_SizeChanged et SplitCont_SizeChanged sont appelées
    - mais si la taille de la fenêtre <= 706 pixels, seule la fonction Frm_SizeChanged est appelée

    Par contre, tout est OK lorsque je change la largeur de la fenêtre avec la souris

    Quand je change à la fois la hauteur et la largeur de la fenêtre avec la souris, j'ai pu déterminer que lorsque la hauteur est inférieure ou égale à 706 pixels, la hauteur du SplitContainer n'est pas ajustée mais sa largeur si.

    J'ignore totalement quelle est la cause de ce comportement.
    C'est un peu comme si le SplitContainer avait une hauteur minimum en deça de la quelle il ne se redimensionne plus automatiquement en fonction de la taille de sont contener parent.

    Rien de mon code n'annule ou interfère avec la gestion de ces événements ou la taille des contrôles

    J'ai exploré toutes les valeurs des propriétés des contrôles sans voir quelque chose pouvant être à l'origine du problème

    Avez-vous une idée ?

    Merci

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  2. #2
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 932
    Points : 1 267
    Points
    1 267
    Par défaut
    Bonjour,

    j'ai trouvé l'origine du problème

    je suis allé dans le fichier .Designer.vb de ma form

    dans le code correspondant à mon SplitContainer, j'ai mis en commentaire la ligne définissant sa taille :

    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
            'SplitCont
            '
            Me.SplitCont.Dock = System.Windows.Forms.DockStyle.Fill
            Me.SplitCont.Location = New System.Drawing.Point(0, 25)
            Me.SplitCont.Margin = New System.Windows.Forms.Padding(0)
            Me.SplitCont.Name = "SplitCont"
            Me.SplitCont.Orientation = System.Windows.Forms.Orientation.Horizontal
            '
            'SplitCont.Panel1
            '
            Me.SplitCont.Panel1.Controls.Add(Me.ImgXZ_AxeZ)
            Me.SplitCont.Panel1.Controls.Add(Me.ImgXZ_AxeX)
            Me.SplitCont.Panel1.Controls.Add(Me.ImgXZ)
            Me.SplitCont.Panel1MinSize = 1
            '
            'SplitCont.Panel2
            '
            Me.SplitCont.Panel2.Controls.Add(Me.ImgXY_AxeY)
            Me.SplitCont.Panel2.Controls.Add(Me.ImgXY_AxeX)
            Me.SplitCont.Panel2.Controls.Add(Me.ImgXY)
            'Me.SplitCont.Size = New System.Drawing.Size(1286, 654) 'CETTE LIGNE ETAIT LA CAUSE DU PROBLEME
            Me.SplitCont.SplitterDistance = 158
            Me.SplitCont.TabIndex = 8
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

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

Discussions similaires

  1. Qu'est qui ne va plus avec PHP ?
    Par Idelways dans le forum Langage
    Réponses: 209
    Dernier message: 21/07/2011, 08h37
  2. Requete qui ne marche plus avec firebird 2.5
    Par dehorter olivier dans le forum SQL
    Réponses: 6
    Dernier message: 17/04/2010, 14h46
  3. function qui ne marche plus avec un 2ème paramètre
    Par Zorgloub dans le forum Général VBA
    Réponses: 3
    Dernier message: 11/09/2008, 00h51
  4. (UNION) Requete qui ne fonctionne plus avec mysql4
    Par kreatik dans le forum Requêtes
    Réponses: 0
    Dernier message: 13/11/2007, 14h31
  5. Réponses: 9
    Dernier message: 29/01/2007, 10h40

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