1
我有两个DataGridView控件,它们之间有三个垂直按钮,在一个VB 2005窗体中需要调整窗体大小并在窗体大小上移动。如何在调整大小的窗口中调整控件大小?
下面的代码工作,并做我想要的。它采用新大小和默认大小之间的差异,拆分两个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
宾果!谢谢! – John 2009-07-24 19:58:31