現在的屏幕大部分都是高分屏,在這樣的屏幕下開發winfrom軟件就需要注意高DPI問題了
1.Form和UserControl的AutoScaleMode設置為Dpi
2.為項目添加應用程序清單文件(app.manifest),並取消下面行的注釋
<application xmlns="urn:schemas-microsoft-com:asm.v3"> <windowsSettings> <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware> </windowsSettings> </application>
3.項目界面布局(界面隨電腦分辨率自動適應) -- 如果界面是固定大小,不需要考慮該情況
(1)TableLayoutPanel:把區域划分成行和列,設置Anchor為Top|Bottom|Left|Right后,會隨着窗口的大小自動調整單元格大小。
(2)FlowLayoutPanel:按照從左到右、從上到下的順序排列子控件,設置Anchor后,會隨着窗口大小變化重新布局。
(3)用控件的Anchor屬性確定控件的定位方式,使控件可以與窗口某邊界的位置固定或自動調整大小
(4)控件的Dock屬性可以讓子控件緊貼窗口邊界或充滿窗口。
4.如果是要填充滿界面
this.WindowState = FormWindowState.Maximized