C# winform表單 設定窗體自動縮放適應不同尺寸的電腦螢幕大小
C# winform表單 設定窗體自動縮放適應不同尺寸的電腦螢幕大小
資料來源: https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/414814/
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; this.AutoSize = false; this.AutoScroll = true; this.MaximizeBox = true;
系統預設是:Inherit 。
① None : 禁用自動縮放。(預設時)
② Font :根據類使用的字型(通常為系統字型)的維度控制縮放。
如果希望控制元件或窗體根據作業系統中字型的大小進行拉伸或縮小,則按 Font 縮放十分有用,如果控制元件或窗體的絕對大小無關緊要,則應使用這種方式進行縮放。比如:一個按鈕的文字,改變了系統的字型大小,按鈕也隨著變大到能完整顯示文字。
③ Dpi : 根據顯示解析度控制縮放。常用解析度為 96 和 120 DPI。
如果要相對於螢幕確定控制元件或窗體的大小,則按 Dpi 縮放十分有用。例如,對於顯示圖表或其他圖形的控制元件,可能希望使用每英寸點數 (DPI) 縮放,以便該控制元件始終佔據一定百分比的螢幕
④ Inherit : 根據類的父類的縮放模式控制縮放。如果不存在父類,則禁用自動縮放。
AutoScaleMode屬性設定好之後,最好還要搭配另外三個屬性來控制窗體的大小。如下:
Autosize=false,設定窗體不根據內容超出而調整窗體自身大小,以免窗體超出螢幕。
AutoScroll=true,設定窗體當內容超出窗體時,自動產生滾動條。這樣使用者依靠滾動條既可以完全看到超出窗體的內容了。
MaximizeBox=true,可設定窗體最大化,當窗體超出螢幕時,使用者可設定窗體最大化來讓窗體尺寸貼合使用者螢幕。