2013-07-11 11 views
0

我正在VB.NET中創建一個應用程序,並且我有一個控件(一個標籤是特定的),並且它已被設置爲基於文本的自動尺寸它。目前,該標籤框調整大小以向左和向下:如何改變控件在vb.net中調整方向

[標籤] - >
|
v

我希望標籤的大小調整爲向右和向下:

< - [標籤]
|
v

我該怎麼做?

編輯:標籤顯示的Windows帳戶名稱。它與窗口的右側對齊,所以這就是爲什麼文本必須自動化並向左擴展而不是右移。

+0

你試試我的回答嗎? – matzone

+0

我仍然希望文本框自動調整大小,但是當它自動調整大小時,它應該向左和向下擴展/減少,而不是向右和向下。這適用於我的應用程序,但它不完全是我想要的。 – user1877499

+0

因爲標籤是自動大小的,你不能調整它..至少,我知道什麼.. – matzone

回答

1

我能想到的唯一辦法是根據尺寸的變化調整位置。這裏有一些代碼可以做到這一點。我使用Tag屬性在調整大小之前保存他當前的大小。然後在Resize事件處理程序中調整位置。每當標籤的文本發生變化時,標籤就會獲得大小。當調整尺寸被調用時,尺寸已經改變並且比較2將告訴我們改變位置的程度。由於缺省autosize操作已經停止,我沒有改變這一點。

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 
0

我希望標籤的大小調整爲向右和向下:

設置標籤的屬性

自動調整大小=假
textAlign設置= TopRight

+0

這將是有道理的,但不幸的是它不工作。 – Hannele

相關問題