HScrollBarのValueがスライドを前回に動かしても、Maximumの値になっていいないようなので確認してみました。
サンプルソース
using System.Diagnostics;
namespace HScrollBarSample;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
HScrollBar hScrollBar = new()
{
Location = new Point(50, 50),
Size = new Size(200, 30),
Minimum = 0,
Maximum = 100,
LargeChange = 10,
};
this.Controls.Add(hScrollBar);
hScrollBar.Scroll += (s, e) =>
{
Debug.Print("Value:{0}", hScrollBar.Value);
};
}
}
水平スクロールバーを左端に移動したところValueは0でしたので、Minimumプロパティと一致します。
水平スクロールバーを右端に移動したところValueは91でした。Maximumプロパティの値100と一致しません。
こちらの値は、Maximum(100)-LargeChange(10)+1の計算で求められます。
確認していませんが多分VHScrollBarも同じ理屈で動いていると思われます。
コメント