2010-04-09 6 views
1

je la hiérarchie des contrôles suivants:Problèmes avec FlowLayoutPanel l'intérieur du panneau avec AutoSize

Form 
    Panel (AutoSize = true, AutoSizeMode = GrowAndShrink, Dock = Top) 
    FlowLayoutPanel (AutoSize = true, AutoSizeMode = GrowAndShrink, Dock = Top) 
     Control1, Control2, Control3, Control4, ... 
    FlowLayoutPanel (AutoSize = true, AutoSizeMode = GrowAndShrink, Dock = Top) 
     Control1, Control2, Control3, Control4, ... 

Voici comment mises en page en différentes tailles:

les 8 boutons entièrement visibles, mais le groupe a oublié de réduire

Fully visible all 8 buttons, but the Panel forgot to shrink http://img534.imageshack.us/img534/3575/panels1.png

les premiers FlowLayoutPanel sont parfaitement visibles, mais le second est seulement la moitié visible, Onglet8 manque

The first FlowLayoutPanel are fully visible, but the second is only half visible, button8 is missing http://img301.imageshack.us/img301/5296/panels2.png

Les premiers FlowLayoutPanel sont parfaitement visibles, mais le second est seulement la moitié visible, Onglet7 et Onglet8 manquent

The first FlowLayoutPanel are fully visible, but the second is only half visible, button7 and button8 are missing http://img697.imageshack.us/img697/4644/panels3.png

Les premiers FlowLayoutPanel sont parfaitement visibles, mais le second est seulement quart visible, le bouton 6, le bouton 7 et le bouton 8 sont manquants

Comme vous le voyez, je ne suis pas satisfait de ce comportement. Y at-il quelque chose que je peux faire pour faire tout ce travail?

+0

J'ai rencontré des problèmes similaires avec FlowLayoutPanel. Il semble être buggé. Comme le suggère _simon_, vous pouvez souvent (mais pas toujours) utiliser TableLayoutPanels pour obtenir ce dont vous avez besoin. –

Répondre

1

Cela me semble être un bug ... vous pouvez le signaler à Microsoft.

Une solution de contournement possible: essayez d'utiliser tableLayoutPanel au lieu de votre panneau externe. Comme ceci:

Form 
    TableLayoutPanel (1 column, 2 rows with 50% size type) 
     FlowLayoutPanel1 (AutoSize = true, in first row of the TableLayoutPanel, Dock = Fill) 
      Button1, Button2, Button3, Button4, ... 
     FlowLayoutPanel2 (SutoSize = true, in second row of the TableLayoutPanel, Dock = Fill) 
      Button1, Button2, Button3, Button4, ... 
+0

Merci! cela fonctionne, sauf l'animation laide sur le redimensionnement, mais il mise en page sans bugs! :-) – DxCK