【问题标题】:How to make a Winforms App Perspective and Responsive, like a web page?如何使 Winforms 应用程序具有透视性和响应性,就像网页一样?
【发布时间】:2020-05-12 16:26:38
【问题描述】:

如何使 Windows 窗体应用程序具有透视性, 为了让它像一个所有元素都可以调整大小的网页?

我的意思是它应该填充所有屏幕尺寸、笔记本电脑和台式机。

我已经尝试了所有方法,但没有一个有效v,

我希望表单的所有元素都像网页一样调整大小?

如果 Windows 窗体有很多元素,你必须把所有 所有控件中的属性,当您更改一个属性时,也许您必须再次更改另一个属性,一次又一次......

我正在寻找类似 @​​987654322@ 的东西,它更简单、更优雅。

【问题讨论】:

  • 使用 WPF 而不是 Windows 窗体。
  • TableLayoutPanel。每个 Cell 可以包含其他容器。每个 Cell 的度量都可以定义为比例,所以当 Container Form 调整大小时,TLP 内的所有控件都会按比例调整大小。如果这就是你的意思。另外,检查DockAnchor 属性(所有控件)。
  • 此外,您会发现使用“responsive”而不是“perspective”进行搜索更容易
  • 你必须把所有的属性都写进去我不知道那是什么意思。当你设计一个表单时,无论如何你都需要设置锚点和停靠控件。如果你不这样做,你的设计就会很糟糕,因此,在不确定/不受控制的情况下,布局就会很糟糕。这同样适用于网页。糟糕的设计,糟糕的结果。 TableLayoutPanels、FlowLayoutPanels、TabControls、SplitContainer 等一直在使用。如果你只是在窗体的表面上随机地拍打控件,你就会得到你所得到的。
  • “如果表单有很多元素,那就太痛苦了” WinForms 包含 95% 的痛苦。如果您真的需要响应式和渐进式应用,请切换到 UWP 或 WPF,直到为时不晚。

标签: c# winforms layout screen


【解决方案1】:

几年前我遇到过类似的问题,切换到 WPF 对公司来说太耗时了。我们的解决方案涉及为表单和控件设置统一的大小调整代码。

我可以提供的一些提示是:

  • 对所有内容使用基于面板的布局。
  • 切勿使用定位任何控件 绝对定位。
  • FlowLayoutPanel 最适合订购您的 确保一致调整大小的面板。
  • 将根面板停靠到您的 表单/用户控件。
  • 确保您了解Docking 的工作原理。 如果您可以概括调整大小的代码;做,尽可能 (为每个表单编写单独的调整大小代码会很痛苦,而不是 可维护)。

【讨论】:

    猜你喜欢
    • 2016-07-11
    • 2017-02-20
    • 2021-01-14
    • 1970-01-01
    • 2013-07-05
    • 2016-12-18
    • 1970-01-01
    • 2022-12-11
    • 2018-08-04
    相关资源
    最近更新 更多