Comment puis-je aligner une zone de texte d'Étiquette et dans TableLayoutPanel?
J'ai lu quelques articles sur ce sujet, mais aucun ne semble pour aider. Comment puis-je l'alignement de l'étiquette et de la zone de texte dans le cas suivant:
Using frm As New frmWithTableLayout
frm.TableLayoutPanel1.ColumnCount = 2
frm.TableLayoutPanel1.RowCount = 3
'create report Type'
Dim lblReportType As New Label
lblReportType.Text = "Report Type"
lblReportType.Dock = DockStyle.Right
Dim reportType As New System.Windows.Forms.TextBox()
reportType.Text = "Income"
frm.TableLayoutPanel1.Controls.Add(lblReportType, 0, 0)
frm.TableLayoutPanel1.Controls.Add(reportType, 1, 0)
End Using
Il n'y a aucune raison d'enlever le C# tag. Ce n'est pas une langue spécifique à la question et juste parce que mon exemple était dans VB.NET ne pas en faire un VB.NET question. Je suis ouvert à toutes les langues, juste au moment où j'ai été dans la programmation VB.NET si l'exemple était plus facile de rassembler dans VB.NET. Quelqu'un qui programme en C# pourrait arriver à une solution au problème...
Vous avez oublié d'ajouter le ColumnStyles. Faire cela sur un exemple de formulaire d'abord avec le concepteur. Cliquez sur l'icône Afficher Tous les Fichiers dans la fenêtre Explorateur de solutions. Ouvrez le nœud à côté du formulaire et double-cliquez sur le Concepteur.vb fichier. Découvrez le code généré par le concepteur.
Je voudrais juste faire un .net tag alors seulement, puisque vous l'avez laissé, F# et d'autres .net de langues.
Vous avez oublié d'ajouter le ColumnStyles. Faire cela sur un exemple de formulaire d'abord avec le concepteur. Cliquez sur l'icône Afficher Tous les Fichiers dans la fenêtre Explorateur de solutions. Ouvrez le nœud à côté du formulaire et double-cliquez sur le Concepteur.vb fichier. Découvrez le code généré par le concepteur.
Je voudrais juste faire un .net tag alors seulement, puisque vous l'avez laissé, F# et d'autres .net de langues.
Label
devrait avoir AutoSize
définie sur trueOriginalL'auteur Denis | 2011-11-03
Vous devez vous connecter pour publier un commentaire.
Des étiquettes et des zones de texte sont alignées dans un TableLayoutPanel à l'aide de la propriété Anchor. Généralement, Ancre détermine la bordure de la mère d'un contrôle de coller avec lors d'un redimensionnement. Mais avec un TableLayoutPanel le point d'Ancrage de la propriété détermine alignement au sein de la cellule. TextAlign n'a aucun effet sur l'étiquette à l'alignement à l'intérieur d'un TLP.
À partir de MSDN:
Modifier la valeur de la Touche de contrôle d'Ancrage de la propriété à Gauche. Le Bouton de contrôle se déplace pour s'aligner avec le bord gauche de la cellule.
Remarque: Ce problème est différent de celui des autres contrôles conteneur. Dans un autre récipient contrôles, le contrôle enfant ne se déplace pas lorsque le point d'Ancrage de la propriété est définie, et la distance entre la ancré contrôle et le conteneur parent de la limite est fixé au moment de l'Ancre, la propriété est définie.
https://msdn.microsoft.com/en-us/library/ms171691%28v=vs.90%29.aspx
OriginalL'auteur Timbo
Vous pouvez les aligner et de les étirer les contrôles dans un TableLayoutPanel avec le Ancre et Dock propriétés.
essayez TextAlign aussi
Essayé TextAlign, pas de chance... d'avoir un hack en place qui semble être le faire assez bien mais bon, c'est un hack...
OriginalL'auteur Damith
Remplacement de la ci-dessus avec:
C'est un total de hack, mais cela semble fonctionner... Peut-être que quelqu'un va trouver quelque chose de mieux:
OriginalL'auteur Denis
Il ya quelques façons de l'aborder, mais en le faisant de cette façon, vous obtenez les modifications au moment de la conception (donc pas besoin d'exécuter le code pour voir à quoi il ressemble), et il permettra de corriger rétroactivement toutes vos mises en page existantes sans avoir à fixer le
TextAlignment
etAnchor
propriétés sur chaqueLabel
sur un contrôle par contrôle.1)
2) à l'échelle du Projet de recherche/remplacement
new TableLayoutPanel(
avecnew TableLayoutPanelEx(
.3) ?
4) Profit
Avant:
Après:
OriginalL'auteur nathanchere
Le seul qui a fonctionné pour moi:
OriginalL'auteur olleh