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 に答える