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