C#/winform設置窗體自動縮放適應不同尺寸的電腦屏幕大小


窗體屬性:AutoScaleMode屬性,

可以設置窗體隨着分辨率改變來適應電腦屏幕。

系統默認是:Inherit 。

① None : 禁用自動縮放。(默認時)

② Font :根據類使用的字體(通常為系統字體)的維度控制縮放。

       如果希望控件或窗體根據操作系統中字體的大小進行拉伸或縮小,則按 Font 縮放十分有用,如果控件或窗體的絕對大小無關緊要,則應使用這種方式進行縮放。比如:一個按鈕的文字,改變了系統的字體大小,按鈕也隨着變大到能完整顯示文字。

新建一個winform,字體為 ‘宋體 9pt’,上面還有一個button,用來參考的,如下圖所示:

 

然后,先改變winform的字體大少,就改為‘宋體 16pt’吧。效果如下:

 

 

這時候,連按鈕都變大了。。

 ③ Dpi : 根據顯示分辨率控制縮放。常用分辨率為 96 和 120 DPI。

       如果要相對於屏幕確定控件或窗體的大小,則按 Dpi 縮放十分有用。例如,對於顯示圖表或其他圖形的控件,可能希望使用每英寸點數 (DPI) 縮放,以便該控件始終占據一定百分比的屏幕

④ Inherit   : 根據類的父類的縮放模式控制縮放。如果不存在父類,則禁用自動縮放。

 

AutoScaleMode屬性設置好之后,最好還要搭配另外三個屬性來控制窗體的大小。如下:

Autosize=false,設置窗體不根據內容超出而調整窗體自身大小,以免窗體超出屏幕。

AutoScroll=true,設置窗體當內容超出窗體時,自動產生滾動條。這樣用戶依靠滾動條既可以完全看到超出窗體的內容了。

MaximizeBox=true,可設置窗體最大化,當窗體超出屏幕時,用戶可設置窗體最大化來讓窗體尺寸貼合用戶屏幕。

當你改變from字體的時候,from的size也會跟着改變,手動輸入字體大小9號字體,運行窗體不會還原,必須用鼠標選擇9號字體(小五),這時運行窗體才會還原。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM