Vb.net 在可调整大小的窗口中调整控件大小的方法?

Vb.net 在可调整大小的窗口中调整控件大小的方法?,vb.net,visual-studio-2005,controls,resize,Vb.net,Visual Studio 2005,Controls,Resize,在VB2005表单中,我有两个DataGridView控件,它们之间有三个垂直的按钮,需要在调整表单大小时调整大小和移动 下面的代码可以工作,并且做我想做的事情。它获取新大小和默认大小之间的差异,分割两个DataGridView之间的高度差异,并正确地移动对象 让我感到困扰的是,我已经将默认值硬编码到ResizeEnd处理程序中。我该如何传递默认大小,这样我就不会重复我自己了 更好的是,有没有一种方法可以通过锚定、对接和其他东西来实现,这样我就不需要编写代码了 提前谢谢 Private

在VB2005表单中,我有两个DataGridView控件,它们之间有三个垂直的按钮,需要在调整表单大小时调整大小和移动

下面的代码可以工作,并且做我想做的事情。它获取新大小和默认大小之间的差异,分割两个DataGridView之间的高度差异,并正确地移动对象

让我感到困扰的是,我已经将默认值硬编码到ResizeEnd处理程序中。我该如何传递默认大小,这样我就不会重复我自己了

更好的是,有没有一种方法可以通过锚定、对接和其他东西来实现,这样我就不需要编写代码了

提前谢谢

    Private Sub dlgShowAssets_ResizeEnd(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ResizeEnd


    Dim defaultWindowSize As New System.Drawing.Size(759, 619)
    Dim defaultAssetDGVSize As New System.Drawing.Size(730, 153)
    Dim defaultAssetDGVPos As New System.Drawing.Point(9, 186)

    Dim defaultButton1Pos As New System.Drawing.Point(9, 345)
    Dim defaultButton2Pos As New System.Drawing.Point(100, 345)
    Dim defaultButton3Pos As New System.Drawing.Point(191, 345)

    Dim defaultDetailDGVSize As New System.Drawing.Size(730, 177)
    Dim defaultDetailDGVPos As New System.Drawing.Point(9, 374)

    Dim deltaX As Integer = Me.Size.Width - defaultWindowSize.Width
    Dim deltaY As Integer = Me.Size.Height - defaultWindowSize.Height
    Dim deltaSize As New System.Drawing.Size(deltaX, deltaY / 2)
    Dim deltaPos As New System.Drawing.Point(0, deltaY / 2)


    Me.AssetDataGridView.Size = defaultAssetDGVSize + deltaSize

    Me.btnAddAsset.Location = defaultButton1Pos + deltaPos
    Me.btnEditAsset.Location = defaultButton2Pos + deltaPos
    Me.btnDeleteAsset.Location = defaultButton3Pos + deltaPos

    Me.AssetIdentifierDataGridView.Size = defaultDetailDGVSize + deltaSize
    Me.AssetIdentifierDataGridView.Location = defaultDetailDGVPos + deltaPos

End Sub

您可以使用TableLayoutPanel控件。

只是一个后续操作——这个建议可能使我在这项任务中的工作效率提高了5000%。今晚我可能可以调整应用程序中所有表单的大小。再次感谢!