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