在设计视图中制作响应式表单(不是以编程方式)
Make a responsive form in design view (not programmatically)
我正在做一个 WinForms 程序,它应该在全屏下具有完全响应式设计。
我得到了一种或多或少有效的方法。它包括计算显示屏幕和原始表格尺寸之间的比率。
然后我将这个比例应用于窗体内每个控件的宽度、左侧、高度、顶部属性。
我怀疑是否要使用本机方式来执行此操作,因为使用锚点,控件与父控件边界保持相同的距离,但我没有按比例执行,例如:
表格为 100x100
按钮 20x20 位于 (10,10)
如果我将表单的大小调整为 200x200(乘以 2),我在设计视图中可以做的最好的方法是将四个锚点保留在按钮上,这样按钮的大小将在相同位置 (10,10) 为 120x120 ), 而我需要的是一个大小为 40x40 的按钮,位于位置 (20,20),因为表单大小乘以 2。
是否可以在设计视图中使用winforms原生操作? (避免进行计算)
是的,这是可能的。
使用 属性 Dock = Fill
你可以要求一个组件占用其容器中的所有空间。
现在使用 TableLayoutPanel
,您可以定义单元格以放入您的组件。并为单元格指定百分比大小,您可以确保在调整表单大小时大小会发生变化...
这里有更多关于这些东西的信息:
我正在做一个 WinForms 程序,它应该在全屏下具有完全响应式设计。
我得到了一种或多或少有效的方法。它包括计算显示屏幕和原始表格尺寸之间的比率。 然后我将这个比例应用于窗体内每个控件的宽度、左侧、高度、顶部属性。
我怀疑是否要使用本机方式来执行此操作,因为使用锚点,控件与父控件边界保持相同的距离,但我没有按比例执行,例如:
表格为 100x100 按钮 20x20 位于 (10,10)
如果我将表单的大小调整为 200x200(乘以 2),我在设计视图中可以做的最好的方法是将四个锚点保留在按钮上,这样按钮的大小将在相同位置 (10,10) 为 120x120 ), 而我需要的是一个大小为 40x40 的按钮,位于位置 (20,20),因为表单大小乘以 2。
是否可以在设计视图中使用winforms原生操作? (避免进行计算)
是的,这是可能的。
使用 属性 Dock = Fill
你可以要求一个组件占用其容器中的所有空间。
现在使用 TableLayoutPanel
,您可以定义单元格以放入您的组件。并为单元格指定百分比大小,您可以确保在调整表单大小时大小会发生变化...
这里有更多关于这些东西的信息: