【问题标题】:Programatically position the label (left,top)以编程方式定位标签(左,上)
【发布时间】:2020-09-17 14:09:14
【问题描述】:

也许是微不足道的(或者以前问过但看不到类似的问题,因为我的浏览器都乱码), 但是如何以编程方式将标签定位到左侧或顶部的位置?

【问题讨论】:

  • 要对齐控件,您可以手动定位它并设置它的Anchors,或者您可以设置它的Align 属性(顶部和底部都可以)。要设置控件内文本的对齐方式,请使用Alignment 进行水平对齐,使用Layout 进行垂直对齐。 (假定为 VCL。)在这种情况下,您可能希望禁用 AutoSize。
  • 或者你的意思是完全手动?如果是这样,只需设置 Left 和 Top 属性。
  • 我知道我可以手动完成,但我对编程感兴趣...
  • 答案完全一样。所有这些属性在运行时都可用。 (例如Label1.Top := 20; Label1.Left := 20。您没有说何时要这样做,但是在表单的OnCreate 处理程序中会起作用。或者在按钮的OnClick 处理程序中。在某些情况下,您想在表单的OnResize 中进行。)
  • 谢谢安德烈亚斯...

标签: delphi


【解决方案1】:

Andreas Rejbrand 在他的 cmets 中给了你解释。为了清楚起见,这里是在按钮正上方放置标签的实际代码示例。我还将 visible 属性设置为 TRUE,以便标签可见。

procedure TForm1.Button1Click(Sender: TObject);
begin
    Label1.Left    := Button1.Left;
    Label1.Top     := Button1.Top - Label1.Height;
    Label1.Visible := TRUE;
end;

【讨论】:

    猜你喜欢
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多