我的应用程序在100%DPI设置下看起来不错,但是当用户选择不同的(125%或150%)单词时,不适合容器。我尝试使用我在此处找到的解决方案解决此问题:Detect windows font size (100%, 125%, 150%)即:
this.AutoScaleMode = AutoScaleMode.Dpi;
它固定了150%的设置(使它有点模糊,但没关系),不幸的是它并没有使用在应用程序打算运行的PC上使用的125%。
对此有一些简单的解决方法,还是我必须手动重新排列每个表单?
答案 0 :(得分:8)
Creating a DPI-Aware Application
所有容器必须使用相同的AutoScaleMode - 这部分修复了我的问题
要求Windows应用程序在不同分辨率下应具有相同的布局,这意味着在更改分辨率时应用程序的布局应该没有任何影响。以下是执行此操作的步骤。
- 使用表格布局面板
- 在tablelayoutpanel的单元格中拖动控件并设置锚点和停靠属性。
- 设置拖动控件的rowspan和colspan属性以合并单元格
- 设置相对于单元格的拖动控件的边距和填充。
- 拖动所有控件并按照相同步骤操作,使用tablelayoutpanel完成设计
- 现在设置tablelayoutpanel = autosize(或%)
的所有列和行大小- 设置tablelayoutpanel属性autosize = true,autosizemode = grow and shrink
- 设置表单属性autosize = true,autosizemode = grow and shrink
- 运行Windows应用程序如果您的Windows应用程序以最大状态打开,请设置tablelayoutpanel dock property = fill。
醇>