As already mentioned, the scroll bar never reaches its maximum value, and this is due to the fact that the LargeChange property gets factorized into the equation:
private void topicContainer_Scroll(object sender, ScrollEventArgs e) { VScrollProperties vs = topicContainer.VerticalScroll; if (e.NewValue == vs.Maximum - vs.LargeChange + 1) {
+ 1 - for offset based on zero. If you set the AutoScrollMinSize height property to 500, the maximum value is actually 499.
source share