【问题标题】:C# Setting the MaximumSize of a control to the parent's current sizeC#将控件的MaximumSize设置为父级的当前大小
【发布时间】:2012-07-27 05:23:30
【问题描述】:

我有一个简单的拖放式图像查看器。设置如下

  • 我有我的主窗体
  • 我创建了一个面板并将其拉伸到表单的大小,autoscroll = true
  • 我将一个图片框停靠在面板中,sizemode = autosize

我将一张图片拖到加载图片的图片框上。图片框会根据图像尺寸调整大小,我的面板会根据需要显示滚动条。

现在我最大化表单...但是面板没有调整大小。

所以我将面板停靠在主窗体中,现在我最大化窗体并调整面板大小。

除了现在滚动条不见了。我猜问题是允许面板调整到所需的大小,因此不再需要滚动条。

我将面板的 MaximumSize 字段硬编码为 1024x768 之类的东西,然后面板将自身调整为该大小,然后根据需要显示滚动条,因为图像较大。

但是每个人的分辨率都不一样,那么如何将面板的MaximumSize设置为其父级当前的大小呢?父级可以是另一个面板或表单,但在我的具体情况下不是。

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    表单有一个名为 Size 的属性,它包含表单的高度和宽度(以像素为单位)。您可以使用它来设置控件的大小。我建议将该代码放在 OnResize 事件处理程序中,这样每次表单都会调整控件的大小。

    【讨论】:

      【解决方案2】:

      要使用窗体动态调整控件的大小,您可以使用 Windows 窗体控件的 Anchor 属性。

      我的建议是与 Docking 属性一起使用,这些属性也可以从设计器中设置

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-15
        • 2013-02-16
        • 2011-12-15
        • 2012-12-23
        • 1970-01-01
        相关资源
        最近更新 更多