在vb.net中减少屏幕恢复期间控件的大小
您好,当窗体最大化时,我使用下面的代码来增加窗体中所有控件的大小,因为锚点、停靠和自动调整大小不会减小控件的大小在vb.net中减少屏幕恢复期间控件的大小,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,您好,当窗体最大化时,我使用下面的代码来增加窗体中所有控件的大小,因为锚点、停靠和自动调整大小不会减小控件的大小 Private Sub PaForm_Resize(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Resize If Me.WindowState = FormWindowState.Maximized Then count =
Private Sub PaForm_Resize(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Resize
If Me.WindowState = FormWindowState.Maximized Then
count = count + 1
If count <= 2 Then
Dim RW As Double = (Me.Width - CW) / CW ' Ratio change of width
Dim RH As Double = (Me.Height - CH) / CH ' Ratio change of height
For Each Ctrl As Control In Controls
Ctrl.Width += CInt(Ctrl.Width * RW)
Ctrl.Height += CInt(Ctrl.Height * RH)
Ctrl.Left += CInt(Ctrl.Left * RW)
Ctrl.Top += CInt(Ctrl.Top * RH)
Next
For Each c As Control In Panel1.Controls
c.Width += CInt(c.Width * RW / 4)
c.Height += CInt(c.Height * RH / 4)
c.Left += CInt(c.Left * RW / 4)
c.Top += CInt(c.Top * RH / 4)
Next
End If
End If
Private Sub PaForm\u Resize(ByVal发送方作为对象_
ByVal e As System.EventArgs)处理我。调整大小
如果Me.WindowState=FormWindowState.Maximized,则
计数=计数+1
如果count将控件添加到TableLayoutPanel,它将调整控件的大小(如果要填充其停靠) 通过查看屏幕截图,现在更容易理解您想要什么
在这种情况下,我同意-开始使用TableLayoutPanel。对于您的两列组合框,您可以选择一个(标签的宽度为自动或固定,文本框的宽度为%),A01-H12按钮的宽度为另一个,以及“控件确定”复选框的面板#3和其他
您可以使用一个TableLayoutPanel来完成所有操作,但随后需要使用列span,如果您决定扩展任何一个区域,此解决方案都不太灵活。您可以添加屏幕截图来解释您拥有的内容与想要的内容吗?该页面不允许我添加image@NeoliskAdd一个外部链接。然后我可以把它添加到你的问题中。这是外部链接。表单恢复后,控件的大小保持不变same@NeoliskWhat你的预期行为是什么?屏幕截图#3丢失。但它不会缩放文本/字体。@JoelCoehoorn:OP也不会这样做。@JoelCoehoorn:TableLayoutPanel中的顶部控件和底部到FlowLayoutPannel(它将重新排列您的按钮控件)的延迟表示抱歉。我是否需要在运行时将组合框添加到tablelayout面板中。在我的跑步时间里,我该如何做到这一点@neolisk@user3478236:检查此链接。我厌倦了表格布局面板控件之间的间距是自动调整的,但控件的大小没有增加或自动调整。您能告诉我怎么做吗。@user3478236:您需要将控件停靠在表格布局面板的单元格中。操纵台=加油@用户3478236:如果我的回答有帮助,别忘了接受/投票。