【问题标题】:How to set a maximize limit for windows form如何为窗体设置最大化限制
【发布时间】:2016-11-22 23:42:08
【问题描述】:

我有一个项目,它有几个连接到 SQL 数据库(读取和写入)的表单。除了父表单之外,每个表单都以中心位置和我在属性中为其设置的大小开始(显然系统将其视为最小大小)。当我单击最大化按钮时,它会全屏显示,这就是我的问题。

我希望子窗体比主窗体小一点(这样我可以从后面看到标题)。当我在属性字段中写下我喜欢的最大尺寸时,它就不起作用了。

我使用了这里写的第一个解决方案:Is it possible to set the Maximum Width for a Form but leave the Maximum Height Unrestricted?。它给了我最大尺寸的限制。但是,它不仅会使表单脱离中心,而且一旦我单击表单,它就会恢复到最小尺寸。

另一个问题是我的项目应该在多台具有不同分辨率的计算机上运行。所以,我不认为给它一个特定的大小会有所帮助。

底线是,我希望我的子窗体的大小最大化到比全屏的父窗体小一点的限制。 谁能帮帮我?

【问题讨论】:

  • 这些表格是 mdi 子表格吗?从我读到的我认为不是。有没有理由不做这个项目MDI?
  • 这不是windows的工作方式,maximize是一个系统命令,它使窗口全屏显示。您可以禁用默认最大化命令并自己处理它们,或者根据@GuidoG 的建议将表单设置为 MDI 容器。
  • 嗨,你为什么不抓住这个事件并将你的窗口大小设置为你想要的?看这里:stackoverflow.com/questions/1295999/…
  • @GuidoG:它是 MDI。但正如我所说,我对此并不陌生,而且我经常被其他人认为很容易的事情卡住退出:-(

标签: c# winforms


【解决方案1】:

您似乎正在尝试创建多文档界面 (MDI) 样式的应用程序。这种风格已经不是很常见了,但这里有一些examples 告诉你如何做到这一点。

您给出的 StackOverflow 示例使用了 MaximumSize 属性。当用户单击右上角的“最大化”按钮时,该属性不适用。它用于当表单配置为允许调整大小时(通过抓住右下角的手柄)。 最大化功能将填满整个屏幕,或者对于 MDI 应用程序,整个 MDI 父窗口 - 一直都是这样。

【讨论】:

  • 我们仍在构建许多新的 winforms 项目,这是因为几乎每个客户都想要一个 MDI 应用程序。所以我不确定这种风格是否不再常见。我不同意在构建应用程序时,但对于 winforms,我认为它仍然很常见
  • 呸!在它被称为 WinForms (VB3-6) 之前,我已经做了 10 年。我现在很少看到对它的任何要求 - 微软在 WPF 中放弃了 MDI。
  • 是的,在 WPF 中它已经消失了,这就是我所说的,它只是构建 winforms 应用程序时的要求,而不是应用程序。以及为什么我相信 devexpress 将 MDI 带回了 WPF。
  • 实际上,如果它像“当表单配置为允许调整大小(通过抓住右下角的手柄)”那样工作,那对我来说是完美的。但是我不能那样调整它的大小,因为它被禁用了。如果我能做到这一点,那么我会将最大化命令单独留在控制框上并使用它。顺便说一句,它是一个 MDI
猜你喜欢
  • 1970-01-01
  • 2014-12-22
  • 1970-01-01
  • 1970-01-01
  • 2013-07-12
  • 2014-11-23
  • 2019-03-19
  • 2019-02-25
  • 1970-01-01
相关资源
最近更新 更多