2

我的问题是我无法根据表单大小调整表单控件的大小。我有一个包含文本框、标签和按钮的表单。单击按钮时,我需要在特定大小的窗口中打开相同的表单,并且我希望表单的所有控件都应与表单成比例,并且控件内的字体大小也应成比例。任何人都可以建议如何使用代码来做到这一点。无法通过使用锚点和停靠属性来解决此问题。

我的代码:

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,因为我的原始形式是 size(300,300),但我没有让所有控件都平等地扩展......任何建议都值得赞赏。

谢谢

帕拉维

4

1 回答 1

0

检查这两行

Dim widthRatio As Single = Me.Size.Width / 300.0F
Dim heightRatio As Single = Me.Size.Height / 300.0F

在你的情况下 Me.Size.Width = 300 和 Me.Size.Height = 300 这就是它不起作用的原因,改变宽度或高度然后检查它

于 2012-10-16T09:09:11.323 回答