Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb.net中减少屏幕恢复期间控件的大小_Vb.net_Visual Studio 2010 - Fatal编程技术网

在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:如果我的回答有帮助,别忘了接受/投票。