作成日: 2026/03/05 最終更新日: 2026/03/05
文書種別
不具合
発生環境
.NET 8
状況
回避方法あり
詳細
ラベルが複数配置されたユーザーコントロールを作成し、DashBoardLayout コントロールの中のパネルに配置した際、 ダッシュボードの拡大表示ボタンを押して拡大すると、 ユーザーコントロール内のラベルの位置や ラベルの幅が変更されますが、 その後に元のサイズに戻したり、再度拡大表示をしても変更されたままになります。
回避方法
ユーザーコントロールの InitializeComponent 関数が実行された時点で、フォント設定を退避しておき、
初期値から変わってしまった場合に適宜初期値に戻す処理を実装します。
◎サンプルコード(VB)
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
' UserControl1 を、 Panel に追加します。
Dim uc01 As New UserControl1()
uc01.Dock = DockStyle.Fill
panel.Controls.Add(uc01)
End Sub
'例:ユーザーコントロール定義
Public Class UserControl1
Inherits UserControl
Private ReadOnly _originalFont As Font
Public Sub New()
InitializeComponent()
' フォントを保存しておく
_originalFont = Me.Font
End Sub
Private Sub UserControl1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' フォントサイズを確認し、起動時と違う場合はもとに戻す
If Me.Font.Size <> _originalFont.Size Then
Me.Font = _originalFont
End If
End Sub
End Class