2012-04-03 59 views
3

在VB6中,我創建了一個帶有一些文本框,列表框和命令按鈕的窗體。我將所有使用的東西,這些控件的XY位置像如何在點擊最大化按鈕後重新繪製表單?

control2.Top = form.Height * 0.50 'sets the Y-position 
control2.Left = form.Width * 0.35 'sets the X-position 

control3.Top = form.Height * 0.50 
control3.Left = form.Width * 0.45 

然而,當我點擊我的應用程序的最大化按鈕的所有控件的留在同一個地方,而是把更多一點朝向上表格的左上角。同時,單擊最大化也會在表單的右下角創建大量空白區域。

我該如何做到這一點,以便點擊最大化按鈕(看起來像一個空的方形在右上角),通知我的程序,form.height和form.Weight已經改變,所有事情都需要被重繪?

或者,還有另一種方法可以做到這一點,以便我們消除將所有控件移向左上角並消除向右下角創建新空白區域的方法嗎?在此先感謝您的幫助。

+2

我意識到它不是你的主要問題,但你應該使用form.ScaleHeight和form.ScaleWidth – MarkJ 2012-04-03 19:41:29

+0

注意,這種風格調整大小是令人難以接受的。根據表單的內容,通常的做法是保持控件本身的大小相同(人們購買大型監視器以適應更多的內容,而不是看到更大的按鈕)並擴展中央控件(列表視圖,文本框等)以填充空間。 – Deanna 2012-04-04 08:48:47

+0

嗨迪安娜,這正是我想解決的問題,不同大小的顯示器。什麼是正確的使用方法? – phan 2012-04-04 11:48:02

回答

9

您的表單有一個名爲「調整大小」的事件。每當表單調整大小時都會觸發該事件。

Private Sub Form_Resize() 
    'Insert your code here 
End Sub 
+5

確保在調整代碼之前檢查Me.WindowState;特別是如果Me.WindowState = vbMinimized(通常如果它被最小化,則跳過該代碼)。 – 2012-04-03 23:39:04

相關問題