我正在VB.NET中创建一个应用程序,我有一个控件(一个特定的标签),并根据其中的文本设置为自动调整大小。目前,标签框调整为左侧和下侧:
[标签] - >
|
v
我希望标签向右和向下调整大小:
< - [标签]
|
v
我该怎么做?
编辑:标签显示的是Windows帐户名称。它与窗口的右侧对齐,这就是文本必须自动调整并向左扩展而不是向右扩展的原因。
答案 0 :(得分: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
答案 1 :(得分:0)
我希望标签向右和向下调整大小:
设置标签的属性
Autosize = False
TextAlign = TopRight