0
我有一個面板,我設置AutoScrollMinSize。爲了強制繪製,我還在面板上調用Invalidate()。面板的大小小於AutoScrollMinSize值的大小,但控件不顯示滾動條,直到將鼠標懸停在面板上。爲什麼AutoScrollMinSize不會生效,直到我mouseover?
什麼會導致此行爲,或者如何讓AutoScrollMinSize立即生效?
我有一個面板,我設置AutoScrollMinSize。爲了強制繪製,我還在面板上調用Invalidate()。面板的大小小於AutoScrollMinSize值的大小,但控件不顯示滾動條,直到將鼠標懸停在面板上。爲什麼AutoScrollMinSize不會生效,直到我mouseover?
什麼會導致此行爲,或者如何讓AutoScrollMinSize立即生效?
這可能是因爲控件沒有立即重繪(在這種情況下這很有意義)。
您可以改爲在控件上調用Refresh()
。 Refresh()
強制控件無效和發送WM_PAINT
消息立即。另一方面,Invalidate()
基本上說「好的控件無效......它將重新繪製下一個WM_PAINT
」。
編輯:Here's a link欲瞭解更多信息。
你什麼時候設置AutoScrollMinSize? – TheCloudlessSky 2010-08-02 23:10:08
這必須是環保的,面板不會有這種表現。 – 2010-08-03 07:28:18