2010-08-02 66 views
0

我有一個面板,我設置AutoScrollMinSize。爲了強制繪製,我還在面板上調用Invalidate()。面板的大小小於AutoScrollMinSize值的大小,但控件不顯示滾動條,直到將鼠標懸停在面板上。爲什麼AutoScrollMinSize不會生效,直到我mouseover?

什麼會導致此行爲,或者如何讓AutoScrollMinSize立即生效?

+0

你什麼時候設置AutoScrollMinSize? – TheCloudlessSky 2010-08-02 23:10:08

+0

這必須是環保的,面板不會有這種表現。 – 2010-08-03 07:28:18

回答

2

這可能是因爲控件沒有立即重繪(在這種情況下這很有意義)。

您可以改爲在控件上調用Refresh()Refresh()強制控件無效發送WM_PAINT消息立即。另一方面,Invalidate()基本上說「好的控件無效......它將重新繪製下一個WM_PAINT」。

編輯Here's a link欲瞭解更多信息。

相關問題