C#不同作業系統下,介面大小不一的原因

來源:互聯網
上載者:User
在不同的作業系統版本或語言版本之間,系統的預設字型是不同的。
在DesignTime,系統會根據AutoScaleMode的設定不同,將一個參考值賦值給Form的AutoScaleDimensions屬性。  
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); Note: 當前系統為英文。因此,當前字型高度為13,寬度為6   
在運行時,CurrentAutoScaleDimensions屬性會提取當前系統的相關設定。產生另外一個計算值。AutoScaleFactor屬性工作表現了兩個值的比值,作為下一步縮放的縮放因子。
比如,在日文系統下運行時,CurrenAutoScaleDimensions為(6f, 12f)。AutoScaleFactor為(1f, 0.9xxxf).  
System.Win.Forms.ContainerControl會在OnLayout(還包括一堆其它的事件中)中對調用自己的 PerformAutoScale方法,其中對自己和它子孫調用Scale方法,並將AutoScaleFactor傳入。從而實現調整他們的位置和大小,以適應當前作業系統的設定。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.