Winforms, création de remplissage lors de l'utilisation des propriétés Dock
Comment puis-je ajouter un rembourrage, ou l'espace entre les zones de texte lors de l'utilisation de dockstyle.haut de propriété?
for(int i =0; i< 10; i++) {
textboxes[i] = new TextBox();
textboxes[i].Dock = DockStyle.Top;
mypanel.Controls.Add(textboxes[i]);
}
Le code ci-dessus met zones de texte à droite uns en dessous des autres. Ne pouvez pas comprendre cela sans masse à l'aide de panneaux ou de correction du positionnement. Comment effectuer les opérations suivantes?
1) je voudrais ajouter environ 10-20pixels entre les boîtes.
2) Comment faire pour modifier la taille (hauteur,largeur) des zones de texte, puisque lors de l'utilisation de dockstyle.en haut, il ignore la taille des commandes ?
source d'informationauteur Milan
Vous devez vous connecter pour publier un commentaire.
Avec DockStype.Top vous ne pouvez pas modifier la largeur de vos zones de texte, parce qu'ils sont à quai. Vous pouvez uniquement modifier la hauteur. Mais pour changer la hauteur d'une zone de texte, vous devez définir le
Multiline = true
à l'avance.Pour obtenir l'espace entre les différentes cases que vous avez à mettre chaque zone de texte à l'intérieur d'un groupe, créé le
TextBox.Dock = Fill
lePanel.Dock = Top
et laPanel.Padding = 10
. Maintenant, vous avez un peu d'espace entre chaque zone de texte.Exemple De Code
Ce que j'ai oublié, vous pouvez également essayer les FlowLayoutPanel. Il suffit de retirer le
DockStyle.Top
de panneaux et de les mettre dans le FlowLayoutPanel. Aussi, vous devez définir la Sens de circulation du fluide à "top-down". Peut-être que cela peut aussi vous aider à résoudre votre problème, trop.Un autre travail autour qui convient à de petites mises en page est tout simplement à ajouter un
Label
de contrôle par la suite également ancré à laTop
ce qui n'est pas AutoSized,Text=" "
Height=your padding
. C'est très utile pour les impair de bits de remplissage lors de l'utilisation de la designer.Je sais d'où vous venez, c'est particulièrement frustrant après son retour en WinForms de WPF.
Je conseille un TableLayoutPaneldans lequel chaque zone de texte, serait d'obtenir sa propre cellule, et en ajustant les propriétés des cellules. Cela devrait résoudre vos deux rembourrage et de la taille des problèmes.
Une autre alternative serait d'utiliser un peu plus complexe commandes de mise en page, tels que le DevExpress (pas gratuit).