Vb6 以编程方式创建的标签不会正确对齐

Vb6 以编程方式创建的标签不会正确对齐,vb6,Vb6,以编程方式创建标签(即不在designer中)不会在我的表单上右对齐 Set lblStatus = StatusForm.Controls.Add("VB.Label", "lbl" & xml(Prop, "column")) With lblStatus .Visible = True .Caption = Text .Alignment = vbRightJustify .WordWrap = False .AutoSize = True

以编程方式创建标签(即不在designer中)不会在我的表单上右对齐

Set lblStatus = StatusForm.Controls.Add("VB.Label", "lbl" & xml(Prop, "column"))
With lblStatus
    .Visible = True
    .Caption = Text
    .Alignment = vbRightJustify
    .WordWrap = False
    .AutoSize = True
    .top = Index * (lblStatus.height)
    .left = MaxWidth - Screen.TwipsPerPixelX * 15
    .Width = StatusForm.TextWidth(Text)
End With
我创建了其中三个控件,但它们继续从左侧展开,而不是从右侧展开:


理想情况下,我希望这些标签(由
#
包围)的分号对齐。

由于您将
自动调整大小设置为true,因此宽度设置为文本的精确宽度,不留对齐空间


若要在固定宽度内布局文本,请禁用“自动调整大小”。

因为您将
自动调整大小设置为true,所以宽度设置为文本的精确宽度,没有对齐的空间


要在固定宽度内布局文本,请关闭“自动调整大小”。

Hmmm。我试图寻找一个
正确的
,但找不到。我需要将它们“左”移到分号匹配的中间。嗯……尝试忽略“.left”属性的显式定义?@DavidW
left
属性(AFAIK)是设置其水平位置的唯一方法。我试图寻找一个
正确的
,但找不到。我需要将它们“左”移到分号匹配的中间位置。这就成功了-宽度太小,不允许对齐。我删除了
AutoSize
属性,并将
Width
更改为比
TextWidth(text)
更大的值,它的对齐效果非常好。这成功了-宽度太小,不允许对齐。我删除了
AutoSize
属性,并将
Width
更改为比
TextWidth(text)
更大的值,它完全正确。