[英]Best way to resize form/controls according to resolution?
我是個白痴,在1280X1024分辨率的17英寸顯示器上設計了我的VB應用程序,完全忘記了在另一台機器上的感覺。 這可能是一個長鏡頭,但是是否有一種簡單的方法來獲得用戶監視器的分辨率並相應地調整控件和表單的大小?
提前致謝。
您可以將所有控件放在TableLayoutPanel中,正確錨定所有內容,然后將窗口的大小調整為適合顯示分辨率的大小。 如果您將整個面板固定在頂部,底部,左側和右側,並在單元格中固定單個文本框,組合框等,則控件將隨窗口調整大小。
需要做一些工作來弄清楚您希望如何調整大小並四處移動,但並不需要那么多。
從TLiebe的方法獲得數字后,您可以找出要占用窗口的屏幕部分。
您可以通過以下方法獲取當前屏幕尺寸:
Dim screenHeight As Integer = My.Computer.Screen.Bounds.Height
Dim screenWidth As Integer = My.Computer.Screen.Bounds.Width
至於調整大小,如果將控件錨定在窗體上,則應該能夠調整窗體的大小以適合上述屏幕尺寸。
您可以將控件固定在頂部,底部,左側或右側的窗體中。 這樣就可以設計表單,以便可以更改大小而不會弄亂所有控件。 您可以在“設計模式”下執行此操作,設置每個控件的錨點屬性。
表單有一個最小(和最大)大小屬性,您可以使用該屬性來防止表單變得過小。 您可以使用Screen.PrimaryScreen.Bounds或My.Computer.Screen.Bounds來獲取屏幕大小並相應地設置表單大小,如果屏幕小於特定大小,則可以最大化表單。
了解錨點。
創建一個空白表格。
將表單的大小設置為MyComputer.screen.bounds.area寬度和高度。
將窗體的WindowSize設置為Maximum。
將面板控件放在中間。
在面板中放置4個選項按鈕,每個按鈕2行。
減小面板尺寸,以使選項按鈕恰好適合。
將面板固定在表格的所有4面。
啟動應用程序,然后選擇“最小化”按鈕,窗體的兩邊現在將可以收縮和拉伸。
從任何一側開始收縮表格,並注意面板的兩側如何沿收縮方向移動。
將面板的錨定更改為頂部和左側。
如果從頂部縮小或向左縮小,則面板最終會朝相反的邊緣滾動。
如果從底部或右側收縮,則窗體的邊緣向面板滾動。
這是我用來在加載時調整表單大小的代碼
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
Me.Height = My.Computer.Screen.WorkingArea.Height
MyBase.OnLoad(e)
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.