.net 高DPI问题
在高dpi设置下,我对.NET Windows应用程序的显示有问题 所有表单都设置为AutoScaleMode=DPI,但这并不能解决所有问题 基本上,标签的大小会随着字体的增大而增大,但其他控件的位置不会改变,最终标签会遮挡其他控件或相互遮挡 屏幕应如下所示: ..在高DPI时,其结果如下所示: (这是我的第一篇帖子,所以我只允许一个链接) 有什么建议吗 提前感谢,.net 高DPI问题,.net,dpi,winapp,.net,Dpi,Winapp,在高dpi设置下,我对.NET Windows应用程序的显示有问题 所有表单都设置为AutoScaleMode=DPI,但这并不能解决所有问题 基本上,标签的大小会随着字体的增大而增大,但其他控件的位置不会改变,最终标签会遮挡其他控件或相互遮挡 屏幕应如下所示: ..在高DPI时,其结果如下所示: (这是我的第一篇帖子,所以我只允许一个链接) 有什么建议吗 提前感谢, 克里斯蒂安这可能解决不了你的问题 但我们学到了标签和文本控件应该垂直堆叠的艰难方法,即将文本框放置在标签下方,而不是标签旁边。这
克里斯蒂安这可能解决不了你的问题
但我们学到了标签和文本控件应该垂直堆叠的艰难方法,即将文本框放置在标签下方,而不是标签旁边。这为我们解决了许多问题,包括支持多种语言,因为不同语言中的文本宽度可能超过英文文本。理论上,Winforms中的字体和DPI缩放是自动的。实际上。。。没有那么多 我注意到它比水平缩放更好地处理垂直缩放,但即使如此,它也远不是完美的 根据我的经验,只有当您执行以下两项操作之一时,缩放才是可靠的:
FlowLayoutPanel
和TableLayoutPanel
。这些人是你最好的朋友;在Winforms中,我很少在没有它们的情况下做任何事情就你的情况而言,我可能会选择2。根据屏幕截图,我认为很容易将您的布局组合到
TableLayoutPanel
和FlowLayoutPanel
容器中-甚至可能只有一个TableLayoutPanel
您应该查看AutoScaleMode和AutoSize功能。结合对接能力,你应该能够实现你想要的
我有一篇很好的文章,但是链接已经死了。。。无论如何,这应该让你开始: