Je travaille sur un UserControl qui consiste en un tas de ComboBoxes disposées horizontalement dans le haut du contrôle dans un flowlayoutpanel, et un datagridview directement sous le flowlayoutpanel qui occupe tout l'espace restant sur le contrôle . Je dois être capable de cacher facilement toutes les listes déroulantes, donc j'ai un SplitContainer avec Orientation == Horizontal, avec le flowlayoutpanel dans SplitContainer.Panel1, et le datagridview dans SplitContainer.Panel2.FlowLayoutPanel Taille AutoSize ne fonctionne pas
La hiérarchie de contrôle est la suivante:
SplitContainer1
SplitContainer1.Panel1
FlowLayoutPanel1
ComboBox1
ComboBox2
ComboBox3
SplitContainer1.Panel2
DataGridView1
Depuis l'FlowLayoutPanel est orienté horizontalement et l'espace horizontal est limité, la propriété WrapContents du FlowLayoutPanel est vrai, de sorte que les menus déroulants enveloppent vers le bas à la ligne suivante lorsque la commande est rendu trop étroit pour s'adapter à toutes les listes déroulantes dans une rangée.
Le problème que je rencontre est que lorsque le panneau de configuration de flux enveloppe son contenu sur la ligne suivante, sa propriété de hauteur ne change pas en conséquence. Les rangées encapsulées du panneau de configuration de flux sont tronquées et ne forcent pas le panneau de conteneur de division à augmenter en hauteur en conséquence. J'ai essayé de gérer l'événement FlowLayoutPanel.Resize pour développer et réduire la propriété SPlitContainer.SplitterDistance pour accueillir le contenu encapsulé, mais la propriété FlowLayoutPanel.Height ne change pas lorsque le contenu est encapsulé. Je suis perplexe. Le FlowLayoutPanel est-il cassé? Comment puis-je redimensionner le conteneur parent de FlowLayoutPanel si FlowLayoutPanel.Height reste toujours le même, quel que soit le contenu du contenu?
Merci
Brillant! Cela a fonctionné parfaitement! – echo