【问题标题】:Getting and updating the value of the PreferredSize property获取和更新 PreferredSize 属性的值
【发布时间】:2021-04-28 13:54:23
【问题描述】:

下午好!

A visual example if AutoScroll = true;

A visual example if AutoScroll = false;

如果 Panel.AutoScroll = false,请告诉我如何获取/计算/或更新 Panel.PreferredSize 属性的值?

【问题讨论】:

  • 检查PreferredSize 属性。
  • PreferredSize 属性不适合。
  • 抱歉,我不知道那是什么意思。 PreferredSize 返回 ScrollableControl 的完整大小,包括屏幕上不可见的子控件占用的区域。不使用滚动条时DisplayRectangleClientRectangle 相同,除滚动偏移外与PreferredSize 相同。所以你有[Panel].VerticalScroll.Maximum = [Panel].PreferredSize.Height - [Panel].ClientSize.Height。然后你只需设置垂直偏移量:[Panel].VerticalScroll.Value = 100,如果你想做的是在没有滚动条的情况下滚动 ScrollableControl。
  • 我认为设法找到了 VERTICAL SCROLL 的正确值:PANEL.VerticalScroll.Maximum = PANEL.GetPreferredSize(flp_Container.Size).Height - PANEL.Size.Height; VscolBar1.Maximum = flp_Container.VerticalScroll.Maximum;
  • 感谢您提供有关“PrefferedSize”属性的提示。

标签: c# visual-studio winforms scroll scrollbar


【解决方案1】:
private void flp_Container_ControlAdded(object sender, ControlEventArgs e) {
    flp_Container.VerticalScroll.Maximum = flp_Container.GetPreferredSize(flp_Container.Size).Height - flp_Container.Size.Height;
    VScrolBar1.Maximum = flp_Container.VerticalScroll.Maximum;           
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 2020-10-10
    • 2013-11-20
    • 2011-10-02
    相关资源
    最近更新 更多