2014-03-06 59 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

,停止面板無法滾動,所以沒有用。有沒有我可以強制。最大重新計算? –