如何更改控件在vb.net中调整大小的方向

时间:2013-07-11 02:43:49

标签: vb.net winforms label

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

  

[标签] - >
  |
  v

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

  

< - [标签]
  |
  v

我该怎么做?

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

2 个答案:

答案 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