私の問題は、フォームのサイズに合わせてフォーム コントロールのサイズを変更できないことです。テキストボックス、ラベル、ボタンを含むフォームがあります。ボタンをクリックすると、特定のサイズのウィンドウで同じフォームを開く必要があり、フォームのすべてのコントロールがフォームと比例し、コントロール内のフォントサイズも比例する必要があります。誰でもコードでそれを行う方法を提案できますか? アンカーとドックのプロパティを使用してこれを解決することはできません。
私のコード:
Private Sub Test_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim widthRatio As Single = Me.Size.Width / 300.0F
Dim heightRatio As Single = Me.Size.Height / 300.0F
Dim scale As New SizeF(widthRatio, heightRatio)
Me.Scale(scale)
For Each control As Control In Me.Controls
control.Scale(scale)
control.Font = New Font(control.Font.FontFamily, control.Font.SizeInPoints * widthRatio * heightRatio)
Next
End Sub
ここでは、幅と高さの比率を 300.0F で割っています。これは、元のフォームがサイズ (300,300) であるためです。ただし、すべてのコントロールが均等に拡張されるわけではありません。
ありがとう
パラヴィ