The .NET ScrollBar control doesn’t accept a value for the SmallChange property that is higher than the LargeChange property. This is a substantial difference from the corresponding VB6 control, which has no similar limitations.
VB Migration Partner converts several VB6 scrollbar controls – namely, HScrollBar, VScrollBar, FlatScrollBar, WLHScroll, and WLVScroll – into a class that derives from either the HScrollBar or the VScrollBar .NET control. These controls behave much like the VB6 scrollbar, except for a couple details:
a) The scrollbar might not reach it “max” position if the LargeChange property is assigned a value greater than 1.
b) The SmallChange property can’t be higher than the LargeChange property.
These two problems are somewhat related. To work around problem a), the ScrollBar .NET control used by VB Migration Partner’s support library basically forces the LargeChange property to be equal to 1 (as explained in this article). As a consequence, also the SmallChange property is indirectly forced to be equal to 1. The simplest solution to problem b) is by setting the IgnoreLargeChange property to False and then ensuring that SmallChange property is lower than or equal than the LargeChange property: