【问题标题】:How can I manage that a C# MDI Parent has Scrollbars, when the MDI Client is maximized?当 MDI 客户端最大化时,如何管理 C# MDI 父级具有滚动条?
【发布时间】:2016-08-03 03:26:23
【问题描述】:

我有一个 MDI 父 Form 1 和一个 MDI 子 Form 2

Form 2 有一个 MinimumSize = new System.Drawing.Size(568, 453); 集。

只要 MDI Child 未最大化,一切正常(MDI Parent 显示滚动条)。

一旦我最大化 MDI 子项,滚动条就会消失,我无法访问右下角 Form 2 上的其余控件(MDI 父项不显示滚动条)。

我找不到任何解决这个问题的方法,我很乐意提供任何帮助或指点。我什至愿意接受其他方法。

【问题讨论】:

  • 我相信您的子表单已调整大小以适合父表单。您需要使用其调整大小事件以使您的子表单在父表单中工作。您可能还可以为每个设置最小尺寸,以确保用户不会使其小于可用尺寸。
  • 您必须将子窗体的 AutoScroll 属性设置为 True。为避免在未最大化时看到其滚动条,并且仅使用父级的滚动条滚动,您需要将其 MinimizeSize 属性设置为足够大。设计师可以轻松完成所有工作。
  • @snow_FFFFFF 感谢您的指针,仅在孩子身上设置最小尺寸不起作用,在父母身上设置它也不起作用。我可能不得不参加调整大小事件。我正在寻找一些简单而不是自定义编码的东西。无论如何,谢谢!
  • @HansPassant 感谢您的输入,但我需要父级可调整大小(非常小),如果我在接下来的几天找不到更好的东西,即使调整大小也可能会手动编码。 :)

标签: c# winforms mdi


【解决方案1】:

如果 MDI 子级最大化,则 MDI 父级永远不会显示滚动条,因为从技术上讲,没有 MDI 子级离开 MDI 客户区(没有或所有 MDI 子级都被最大化)。

如果您需要最大化 MDI 子项的自动滚动,您还需要将 MDI 子项配置为执行自动滚动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 2012-02-04
    相关资源
    最近更新 更多