本当にあったScrollBarの怖い話

最近延々とWindowsFormApplicationのScrollBar関連の仕様で悩まされ続けていました。備忘録的にその一覧をば。

つまみの大きさはLargeChangeプロパティで調整可能

ScrollBarのつまみ。実はつまみの大きさはLargeChangeプロパティで変更可能
です。どこぞのWebページにはMinimumとMaximumを変えることで変更可能とありましたが、そんなことしなくても変更可能です。

ScrollBar.Valueの取る最大値 != ScrollBar.Maximum

これはMSDNにも書いてあります。ScrollBar.Valueの取る最大値は通常、1+ScrollBar.Maximum-ScrollBar.LargeChange です。
ScrollBar.Valueがこれより大きい値を取るのはプログラム中で操作したときだけです。

つまみをクリックしたままフォームの外までマウスをドラッグさせると最初にクリックした地点に戻る

謎仕様です。FireFox等でスクロールバーのつまみをクリックして、フォームの外までドラッグ(?)して貰えばわかると思います。ある程度以上スクロールバーから離れるとつまみが最初にクリックした地点まで戻ります。このとき、ScrollBar.Valueもつまみの位置の値に戻っています。しかし、戻る際にScrollBar.Scrollイベントは発生しませんScrollBar.ValueChangedイベントは発生しますので、そちらを使うべきでしょう。