调整窗口大小窗口控件
我的问题是我无法根据窗体大小调整窗体控件的大小。 我有一个表单,其中包含一个文本框,一个标签和一个按钮。在按钮上单击我需要在特定大小的窗口中打开相同的窗体,并且我希望窗体的所有控件都应该与窗体成比例,并且控件内的字体大小也应该与窗体成比例。任何人都可以请建议如何用代码做到这一点。无法使用anchor和dock属性解决此问题。调整窗口大小窗口控件
我的代码:
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),但我没有得到所有的控制同样扩大...任何建议非常感谢。
感谢
pallavi
检查这两行
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,这就是为什么它不工作,变化宽度或高度,然后检查它
我改变了宽度和高度,仍然不工作:( – user1740857
已经将值(高度/宽度)改为300.0以外的其他值,control.Font.SizeInPoints * widthRatio * heightRatio与“DEBUG “ – andy
是我把它设置为400和500(宽度和高度分别).. control.Font.SizeInPoints = 8.25最初 widthRatio = 1.333 heightRatio = 1.666 为此工作正常,但宽度和高度变为600,300),那么高度调整不正确的按钮...意味着按钮的字体增加,但不是相应的按钮的高度 – user1740857
不要调用Scale来调整控件的大小,而是将它的Size属性设置为新的Size。 – stuartd
改为改变表单的Font属性。 –