1. #1
    Membre régulier
    Profil pro
    Inscrit en
    juin 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2007
    Messages : 265
    Points : 117
    Points
    117

    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

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    juin 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2007
    Messages : 265
    Points : 117
    Points
    117

    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

+ 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, 07h37
  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, 13h46
  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: 10/09/2008, 23h51
  4. (UNION) Requete qui ne fonctionne plus avec mysql4
    Par kreatik dans le forum Requêtes
    Réponses: 0
    Dernier message: 13/11/2007, 13h31
  5. Réponses: 9
    Dernier message: 29/01/2007, 09h40

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