【问题标题】:Left Align a label or any control in code左对齐代码中的标签或任何控件
【发布时间】:2009-07-08 14:31:11
【问题描述】:

我以编程方式为 gridview 创建了另一个标题行。在这一行中,我有一些控件,包括一个我想一直对齐到单元格左侧的标签。一个单元格的列跨度为 7,因此它贯穿整个网格视图。如何以编程方式对齐该标签??

  Dim cell As New TableCell
  Dim lblfilter As New Label
  Dim row As New GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal)
    GridView1.Rows(0).Parent.Controls.AddAt(0, row)

lblfilter.ForeColor = Drawing.Color.AntiqueWhite    
cell.Controls.Add(lblfilter)

【问题讨论】:

    标签: .net asp.net vb.net visual-studio-2008 webforms


    【解决方案1】:

    如果您在代码中将 Docking 设置为 Left,您应该能够实现这一点。

    在 C# 中:

    lblfilter.Dock = DockStyle.Left;
    

    它应该停靠在它所在容器的左侧。

    【讨论】:

    • 没用。它没有停靠属性。不过还是谢谢。
    • 你确定吗? System.Windows.Forms.Label 控件确实有一个 Dock 属性(我自己检查过)。你用的是不同的东西吗?
    • 是的,无论出于何种原因,它都没有该属性。我什至尝试导入 system.windows.forms.label
    • 应该的。尝试将您的行更改为: Dim lblfilter As New Windows.Forms.Label
    • 好的。我得到了属性,但我无法将标签添加到网格的新行。 “System.Windows.Forms.Label”类型的值无法转换为“System.Web.UI.Control”。这是我添加它的方法:cell.Controls.Add(lblfilter)
    【解决方案2】:

    您可以尝试为标签设置 css 样式。这是一个例子:

    .leftLabel
    {
    float: left;
    }
    

    然后你将样式设置为这样的标签:

    lblfilter.CssClass = "leftLabel"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 2017-01-10
      • 2014-07-15
      • 2015-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多