我创建了一个带有一些元素的表单(一个pictureBox,一个面板和一些标签),当我以800 * 600分辨率运行它时,我的应用程序正常工作。但是当我想以另一种分辨率(即1024 * 768)运行它时,元素会转到错误的位置。我想根据屏幕分辨率缩放(大小和起点)所有表单元素。 我知道我应该使用锚和Dock,但我不能。我找到了一些关于使用这些技术的链接,但它不能很好地工作。 我使用visual studio 2010。
有没有人知道我的问题的解决方案?
非常感谢
答案 0 :(得分:0)
你在谈论两个不同的问题。
UI缩放/分辨率独立性 - 使用标准WinForms无法实现。主要是因为标准的GDI绘图,WinForms使用过,从未想过这个选项。这将允许扩展您的UI,以便相对大小和位置总是相同,但它可能看起来大小不同。
动态布局 - 此技术允许您的控件根据分辨率调整大小和位置。 WinForms在这方面的选择有限,但使用所有控件的Dock和Anchor属性可以有限地实现它。这与缩放或分辨率独立性无关。
此外,一些第三方库提供了这种扩展,以允许更动态的布局。
WPF在UI缩放(因为它基于矢量)和布局(因为它使用双遍布局)方面要先进得多。但这需要首先转向这项技术。