我已经在配置文件中启用了这些建议的设置:
<add key="DpiAware" value="true" />
<add key="DpiAwareness" value="PerMonitorV2" />
<add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
在main函数中:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
所有内容都在顶部和左侧锚定,这是它在100%缩放显示屏上的外观:
当我将窗口移动到150或175%缩放显示时:
如您所见,标签向下偏移了几个像素。
容器的AutoScaleMode
设置为DPI
。
如何保持对齐?
1条答案
按热度按时间plupiseo1#
我遇到了同样的问题,经过一些挖掘,我带着这个控件来了,它可以代替标签使用。已知问题:单击时,获得焦点的控件将失去焦点。这既可以在TableLayoutPanel中使用,也可以单独使用。
结果是:
百分百
百分之二百
我是通过TableLayoutPanel中的那些糟糕的解决方案得出这个结论的:
1.垂直居中-非常稳定的对齐,但无法与基线对齐。
1.通过填充进行微调-在更高的DPI上仍然不够稳定。
1.使用无边框的文本框代替标签-无边框的文本框与标签的对齐方式相同。
该溶液通过以下方式制备: