2010-10-24 29 views
0

A partir de zéro dans un nouveau projet dans lequel les propriétés du défaut de forme Form1 n'a pas été modifié, je laisse tomber un SplitContainer sur la forme et définir ses propriétés à:SplitContainer - Quelle est la cause du comportement incohérent que je ressens lorsque l'orientation est horizontale?

Anchor - Haut, Gauche

Dock - remplissez

Orientation - Vertical

je laisse tomber puis une deuxième SplitContainer dans le panneau gauche (panneau 1) du premier SplitContainer et définir à nouveau ses propriétés à celles ci-dessus sauf que cette fois l'orientation du séparateur est réglé à horizontal.

Je place maintenant deux CheckedListBox dans les panneaux supérieur et inférieur (panneaux 1 & 2) du second SplitContainer. Les propriétés des deux CheckedListBoxes sont fixés à:

Anchor - Haut, Gauche

Dock - Remplissez

ajouter maintenant une zone de texte au panneau de droite (panneau 2) du premier SplitContainer et mis en ses propriétés à:

Anchor - Haut, gauche

Dock - Remplir

multi-Line - Vrai

Lorsque je compile et exécute cette application, le séparateur vertical qui fait partie du premier SplitContainer que j'ai ajouté se comporte et fonctionne exactement comme prévu - donc pas de problème. Cependant, le séparateur orienté horizontalement dans le second SplitContainer affiche constamment un comportement erratique - la largeur du séparateur lui-même change lorsqu'il est déplacé de haut en bas. Mais cette augmentation ou diminution de la largeur du séparateur n'est pas non plus cohérente avec la direction dans laquelle il a été déplacé - par exemple, le déplacer à une certaine distance de sa position initiale au démarrage peut rendre le séparateur plus mince que précédemment un redimensionnement supplémentaire entraîne une épaisseur plus importante.

Le bord inférieur de la CheckedListBox inférieure se déplace également vers le haut et vers le bas lorsque je déplace le séparateur et, comme auparavant, ce comportement n'est pas cohérent avec la direction dans laquelle le séparateur est déplacé. Pour éviter de reporter les modifications apportées aux propriétés d'un composant d'une expérience à l'autre, j'ai essayé de comprendre ce qui se passait en démarrant une demi-douzaine de nouveaux projets à partir de zéro et en essayant différentes choses, y compris les modifications de l'ancre , BorderStyle, Dock, et Margin propriétés, mais malheureusement, je ne suis pas le plus sage: - (

Est-ce que quelqu'un a eu une expérience similaire de ce comportement erratique et peut me proposer une solution? Je pourrais être négliger quelque chose de simple, si oui, quel est

Merci d'avoir lu

Édition \ Mise à jour - Lors d'une nouvelle expérimentation, j'ai pu déterminer que le comportement indésirable que je rencontre est en quelque sorte lié aux CheckedListBox - j'ai remplacé les deux par des textboxes multilignes dont les propriétés "Anchor" et "Dock" étaient Top, Left "et" Fill "respectivement et lors de l'exécution de l'application le comportement erratique ne se produit plus - les séparateurs verticaux et horizontaux fonctionnent correctement.

Répondre

2

Définissez la propriété IntegralHeight des zones de liste sur False afin qu'ils soient autorisés à se dimensionner pour s'adapter au panneau.

+0

Merci, Hans Passant, ça marche parfaitement maintenant !!! : -) –