[C#] WinForm視窗及控制項之調整

Winform若一開始設計在高解析度的畫面(ex. 1920*1080),
當程式被執行在低解析度的環境(ex. 1024*768),
畫面及控制項就有可能被裁切掉。

解決辦法:

  1. 程式中取得使用者的目前解析度大小,自行計算比例縮放,調整視窗及控制項之Size。
  2. 視窗的AutoScaleMode可選擇None、Font、Dpi。
  3. 控制項Anchor屬性,可分別設定Top、Bottom、Left、Right,使控制項自動縮放,或是固定於某一邊界。

Note

  1. Label的字型部分尚無法透過方法3做到自動縮放,需使用方法1撰寫程式碼調整。
  2. MS Chart很容易被切畫面,可以Dock in Panel,再透過Panel 的Anchor自動縮放來完成功能。

2016.05.11補充:

後來我最常用的方式是將AutoScaleMode設為None
然後單獨設定控制項的Anchor
就能控制好邊界相對位置及大小縮放問題
剩下一些細節需要再調整
就再撰寫程式碼去計算並調整Location及Size

 

 

 

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s