.net Bug panel.VerticalScroll.Maximum?
我在.net Bug panel.VerticalScroll.Maximum?,.net,vb.net,scroll,panel,.net,Vb.net,Scroll,Panel,我在VB(2013)中发现了一个非常恼人的bug,我需要解决这个问题 当面板的滚动长度值大于面板高度时,应将面板.VerticalScroll.Maximum设置为该总高度,否则应为面板的高度 从我所看到的,如果面板是60 但是如果我只在面板中加载不超过60px的控件,panel.VerticalScroll.Maximum将保持在100 我曾尝试在表单加载和设计器中设置此值,但不起作用。 加载控件或将其放在设计器中会产生相同的效果,只有当控件超出面板高度时,才会触发要设置的最大值 如果将默认值
VB(2013)
中发现了一个非常恼人的bug,我需要解决这个问题
当面板的滚动
长度
值大于面板
高度
时,应将面板.VerticalScroll.Maximum
设置为该总高度,否则应为面板
的高度
从我所看到的,如果面板
是<100px,VerticalScroll.Maximum
有一个默认值100px,这是一个愚蠢的事情,因为它的默认值应该是面板的高度
例如:
当我的空面板加载时,它的高度为60px,panel.VerticalScroll。最大值为100
当我将控件加载到面板中时-如果其中一个控件的位置延伸至像素60或位于像素60上/之后,则面板.VerticalScroll.Maximum
将设置为正确的值>60
但是如果我只在面板中加载不超过60px的控件,panel.VerticalScroll.Maximum
将保持在100
我曾尝试在表单加载
和设计器中设置此值,但不起作用。
加载控件或将其放在设计器中会产生相同的效果,只有当控件超出面板高度时,才会触发要设置的最大值
如果将默认值设置为面板的高度,则这是可以的,但当面板的高度<100px时则不是这样
这与滚动条
无关,我知道有关较大更改
问题等,这不是使用滚动条
代码是更大项目的一部分,不可提取,但如果需要,我将编写一个小演示,如果需要请尝试在面板上将AutoScroll
设置为false
我打开了System.Windows.Forms.ScrollProperties上的Maximum
设置程序,发现以下是设置程序中的第一个检查:
if (this.parent.AutoScroll)
{
return;
}
不是一个悲观的选民,但如果你摆脱了咆哮,只关注问题,这会有所帮助。不清楚为什么这是一个问题。考虑使用FuffLayOutPosit。这是一个很难解释的问题。在这种情况下,我只能使用面板。更简单地说-最大值不应具有大于对象的默认最小值。这会阻止面板滚动,因此没有用处。是否有我可以强制的。最大值需要重新计算?