2009-11-23 71 views
2

我是一個白癡,並在1280X1024分辨率的17英寸顯示器上設計我的VB應用程序,完全忘記了它在另一臺計算機上的用途。這可能是一個遠射,但有沒有一種簡單的方法來獲得用戶的分辨率並相應地重新調整控件的大小和形式?根據分辨率調整表格/控件的最佳方法?

在此先感謝。

回答

1

您可以獲得當前屏幕尺寸改爲:

Dim screenHeight As Integer = My.Computer.Screen.Bounds.Height 
Dim screenWidth As Integer = My.Computer.Screen.Bounds.Width 

至於調整大小,如果你錨您的控件到窗體中,你應該能夠重新大小的形式,以適應的尺寸如上所獲得的屏幕。

+5

不,最好使用'My.Computer.Screen.WorkingArea'。 WorkingArea排除將在應用程序前面的任務欄,停靠工具欄等。 http://msdn.microsoft.com/en-us/library/system.windows.forms.screen.workingarea.aspx – MarkJ 2009-11-24 09:24:35

+0

好吧我試試吧。謝謝! – broke 2009-11-24 16:12:45

+0

嗨,我們可以在這裏使用這段代碼?我曾嘗試過Workbook open事件,但沒有成功 – KaviSuja 2017-10-06 05:28:05

3

您可以將所有控件放在TableLayoutPanel中,正確地固定所有內容,並將窗口大小調整爲適合顯示分辨率的大小。如果將整個面板錨定在頂部,底部,左側和右側,並將單個文本框,組合框等錨定在單元格內,則控件將使用該窗口調整大小。

花費一點工作來弄清楚你想如何調整大小和移動,但沒有那麼多。

從TLiebe的方法中獲得數字後,您可以計算出想要用窗口占用的屏幕分數。

1

您可以將控件的形式固定到頂部,底部,左側或右側。這使設計表單成爲可能,所以尺寸可以改變而不會搞亂所有的控制。您可以在設計模式下執行此操作,設置每個控件的錨點屬性。

表單的最小(和最大)大小屬性可以用來防止控件變得太小。您可以使用Screen.PrimaryScreen.Bounds或My.Computer.Screen.Bounds來獲取屏幕大小並相應地設置表單大小,或者如果屏幕低於特定大小,則可以最大化表單。

0

瞭解錨點。

創建一個空白表單。

將表單的大小設置爲MyComputer.screen.bounds.area的寬度和高度。

將窗體的WindowSize設置爲Maximum。

在中間放置一個面板控件。

在面板中放置4個選項按鈕,每個按鈕2行。

減小面板的大小,使選項按鈕恰好適合。

將面板固定到窗體的所有四邊。

啓動應用程序並選擇最小化按鈕,窗體的兩側現在可以縮放和拉伸。

開始從任何一側收縮窗體,並注意面板的側面如何隨着收縮的方向而移動。

更改面板錨定到頂部和左側。

如果您從頂部縮小或離開面板,最終會向相反的邊緣滾動。

如果您從底部或右側縮小,則表單邊緣會朝面板滾動。