2014-03-06 110 views
-1

我发现了一个非常恼人的错误VB (2013),我需要解决这个问题。Bug panel.VerticalScroll.Maximum?

当面板具有scrolllength值比panelheight越大,panel.VerticalScroll.Maximum应设置为这个总高度否则它应该是panelheight

从我所看到的,如果panel是< 100像素,VerticalScroll.Maximum拥有100像素的默认值是在第一时间做的,因为它的默认显然应该在面板的高度愚蠢的事。

例如: 当我的空面板的负载,它是在高度60PX,panel.VerticalScroll.Maximum是100

当我加载控制到面板 - 条件是控制的1位于延伸穿过或postioned上/后像素60然后panel.VerticalScroll.Maximum设置为正确的值> 60

但是,如果我只加载控制面板,不延伸超过60px,panel.VerticalScroll.Maximum停留在100!

我已经尝试在form loaddesigner上设置此值,但它不起作用。 只有当控件延伸超过面板的高度时,加载控件或将其放入设计器才会产生相同的效果,然后触发最大值设置。

如果默认被设置为panel的高度,但是这将是好的它不是当panel是< 100px的高度

这是无关Scroll Bars,我知道LargeChange问题等,这不是使用scroll bar

的代码是一个更大的项目的一部分,无法开采,但如果你需要,我会在需要时

+0

不是downvoter,但它会帮助你摆脱了咆哮,只是专注于这个问题。目前还不清楚为什么这是一个问题。考虑改用FlowLayoutPanel。 – LarsTech

+0

它的一个琐碎的问题来解释。在这种情况下,我不能使用任何东西,除了小组。 更简单 - 最大值不应该有大于对象的默认最小值。 –

回答

0

尝试在面板上设置AutoScrollfalse写一个小的演示。

我打开了Maximum二传手上System.Windows.Forms.ScrollProperties,发现下面是在二传手的第一次检查:

if (this.parent.AutoScroll) 
{ 
    return; 
} 
+0

,停止面板无法滚动,所以没有用。有没有我可以强制。最大重新计算? –