c# - 如何在 TableLayoutPanel 中对齐文本框和标签?

标签 c# .net vb.net winforms

我已经阅读了几篇关于此的文章,但似乎都没有帮助。在以下情况下如何对齐标签和文本框:

 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

最佳答案

标签和文本框在 TableLayoutPanel 中使用 Anchor 属性对齐。通常,Anchor 确定在调整大小时控件将坚持父控件的哪条边。但是对于 TableLayoutPanel,Anchor 属性确定单元格内的对齐方式。 TextAlign 对 TLP 内的标签对齐没有影响。

来自 MSDN:

将 Button 控件的 Anchor 属性的值更改为 Left。 Button 控件移动到与单元格的左边框对齐。

注意:此行为不同于其他容器控件的行为。在其他容器控件中,子控件在设置Anchor 属性时不会移动,锚定控件与父容器边界之间的距离在设置Anchor 属性时是固定的。

https://msdn.microsoft.com/en-us/library/ms171691%28v=vs.90%29.aspx

关于c# - 如何在 TableLayoutPanel 中对齐文本框和标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8000731/

相关文章:

c# - 对于 Microsoft 构建的继承 IDisposable 的类,我是否必须明确调用 Dispose?

c# - .NET 的免费代码度量工具(应该可以通过控制台直接从 NAnt 调用)

c# - 如何更新 linq2db 中的两列?

c# - 保存大量外汇金融报价数据的最佳方式

c# - Process.Start 很慢

c# - 删除指定设计样本中的标签间距

vb.net - 抑制 VB.NET 中的过时警告

vb.net - 在 dBase 宽度 Jet.4 中创建一个带有整数或数字(4.0)的表

通用数组的 C# 扩展方法

c# - 比使用太多开关盒更好的解决方案