私は VB.NET でアプリケーションを作成しています。コントロール (特定のラベル) があり、その中のテキストに基づいて自動サイズに設定されています。現在、ラベル ボックスは左下にサイズ変更されます。
[ラベル] ->
|
v
ラベルのサイズを右と下に変更したい:
<-[ラベル]
|
v
どうすればいいですか?
編集:ラベル表示はWindowsアカウント名です。ウィンドウの右側に配置されているため、テキストを自動サイズ調整し、右ではなく左に拡張する必要があります。
サイズの変化に合わせて位置を調整するしか思いつきません。これを行うコードを次に示します。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