1
我只是想在面板的垂直ScrollBar由於需要滾動而出現的某個點上調整面板中的某個控件。如何在Panel上出現ScrollBar時發現? VB.Net
Panel.Resize或Panel.SizeChanged不是我想要的,因爲只要面板的大小被更改而不是精確點,當面板大小的內部由於Panel獲得ScrollBar寬度。
我只是想在面板的垂直ScrollBar由於需要滾動而出現的某個點上調整面板中的某個控件。如何在Panel上出現ScrollBar時發現? VB.Net
Panel.Resize或Panel.SizeChanged不是我想要的,因爲只要面板的大小被更改而不是精確點,當面板大小的內部由於Panel獲得ScrollBar寬度。
ClientSizeChanged事件將觸發。您可以使用以下代碼檢測滾動條是否可見:
Private Sub Panel1_ClientSizeChanged(sender As Object, e As EventArgs) Handles Panel1.ClientSizeChanged
If Panel1.VerticalScroll.Visible Then
'' etc...
End If
End Sub
請注意事件將多次觸發。如果你做了任何重新排列控件以使滾動條再次不可見的情況,那麼請注意,你會引發大量的高度可見的閃爍。
由於用戶可以對控件進行大小調整,所以只有您的代碼可以做到這一點,更好的選擇是主動防止滾動條顯示在第一位。
這樣做通常不是一個好主意。大多數用戶發現,只是因爲滾動條出現,控件纔會改變它們的大小,令人討厭/分散注意力。通常,您只需將控件保留在滾動條區域外。 –