代码之家  ›  专栏  ›  技术社区  ›  Daniel Sam

使用vb.net WinForms动态缩放uis?

  •  1
  • Daniel Sam  · 技术社区  · 15 年前

    我想知道是否有人熟悉如何设计可扩展到任何分辨率的uis。有没有.NET的库或功能使这变得容易?我们还有基础设施控制作为一种资源。

    3 回复  |  直到 15 年前
        1
  •  5
  •   Reed Copsey    15 年前

    对于Windows窗体,最佳选择是使用动态生成的布局控件,并确保使用控件的锚定/停靠属性进行放置,而不是显式地定位和调整大小。

    布局面板,例如 TableLayoutPanel ,也有很大帮助,因为它们在运行时执行动态调整大小。

    也就是说,这是一个WPF比Windows窗体有巨大优势的地方。在WPF中,所有的尺寸和布局都是通过一个“像素”来完成的,它是一个虚拟的、不依赖于分辨率的“像素”,对应于1/96英寸。这意味着你的用户界面只会处理任何解决方案,前提是你不能把它搞得一团糟。

        2
  •  2
  •   Justin Niessner    15 年前

    使用A TableLayoutPanel . 然后,您可以布局一个可伸缩的网格(您可以使用固定宽度/高度和基于百分比的变量的组合),然后将UI组件固定/锚定到表单元格。

    TableLayoutPanel Members (System.Windows.Forms)

        3
  •  0
  •   cdkMoose    15 年前

    fwiw,您应该始终记住,用户可以从控制面板的显示设置中切换默认字体的大小。仍然有一些控件无法正确处理此大小调整问题,因此您应该小心对预期大小所做的假设。