0

我正在 VB.NET 中创建一个应用程序,并且我有一个控件(一个特定的标签),它已根据其中的文本设置为自动大小。目前,标签框向左和向下调整大小:

[标签] ->
|
v

我希望标签向右和向下调整大小:

<-[标签]
|
v

我该怎么做?

编辑:标签显示的Windows帐户名称。它与窗口的右侧对齐,这就是为什么文本必须自动调整大小并向左而不是向右扩展的原因。

4

2 回答 2

1

我能想到的唯一方法就是根据大小的变化来调整位置。这是一些可以做到这一点的代码。在调整大小之前,我使用 Tag 属性来保持他当前的大小。然后在 Resize 事件处理程序中调整位置。每当更改标签的文本时,标签都会获得大小。当调用调整大小时,大小已更改,比较 2 将告诉我们更改位置的程度。由于默认的自动调整大小操作已经关闭,我没有改变它。

Private Sub Label1_TextChanged(sender As System.Object, e As System.EventArgs) Handles Label1.TextChanged
    Label1.Tag = Label1.Size
End Sub

Private Sub Label1_Resize(sender As System.Object, e As System.EventArgs) Handles Label1.Resize
    Dim TempSize As New Size(New Point(0))
    If Label1.Tag Is Nothing Then Label1.Tag = Label1.Size
    TempSize = DirectCast(Label1.Tag, Size)
    Label1.Location = New Point(Label1.Location.X - (Label1.Size.Width - TempSize.Width), Label1.Location.Y)
End Sub
于 2013-07-11T04:28:38.103 回答
0

我希望标签向右和向下调整大小:

设置标签的属性

Autosize = False
TextAlign = TopRight

于 2013-07-11T02:48:25.337 回答