我最近使用4K显示器将我的开发工作站更新到Windows 8.1并从Visual Studio 2010更新到2012.当我打开现有项目时,对边距和填充进行了彻底的更改(默认情况下)。
Label - Margin(8, 0, 8, 0)
Button, DataGridView, TextBox, CheckBox - Margin(8, 7, 8, 7)
MenuStrip - Padding(16, 5, 0, 5)
GroupBox - Margin(8, 7, 8, 7) and Padding(8, 7, 8, 7)
控制尺寸也比以前更大。
这是因为我使用具有显示缩放功能的4K显示器吗?如果是这样,我如何使用此设置控制布局。每次我想编辑表单时,是否必须更改显示分辨率?
或者它与VS 2012或Win 8.1有关吗?
感谢任何帮助。
答案 0 :(得分:2)
答案与DPI缩放有关。基本上,当设计师在96 DPI以外编辑某些内容时,它会被缩放。保存时,将保存缩放值。我正在以150 DPI编辑表格。
我发现Winforms中的DPI支持非常尴尬,但智慧似乎是在一致的DPI上使用设计器 - 即在同一台显示器上,最好是96 DPI。
我当然发现在较高的DPI下很难获得正确的布局。我只是看不出事情是否在更高的DPI下正确对齐,而我可以在96 DPI时清楚地看到它。那么,在技术上是否需要坚持96 DPI的建议我无法确认,但作为一种实践,我发现它在视觉上是必要的。
以下是有关如何构建DPI Aware应用程序的一些答案:https://stackoverflow.com/a/13228495/1439940,https://stackoverflow.com/a/4076259/1439940,https://stackoverflow.com/a/202172/1439940