| ■8508 / ) |
MouseWheelイベントで移動量を無視する方法について |
□投稿者/ あら (29回)-(2007/10/01(Mon) 19:11:03)
|
分類:[C#]
お世話になっております。
numericUpDownコントロールでマウスの移動量に関係なく+/-1づつ値をnumericUpDown.Valueに入れたいと思っています。
下記のように移動量を取得して、移動量分を増減させようとしたのですが、境界値では移動量分の増減となってしまいまし
た。
そこで、MouseWheelのイベント発生時にマウスの移動量は無視して指定した値を、numericUpDown.Valueに入れたいのです
が、そのようなことはできるのでしょうか?
ご教授、アドバイス宜しくお願いします。
(C# .NET Framwork2.0)
--------------
private void NumericUpDown1_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
{
Microsoft.VisualBasic.Devices.Computer myComputer = new Microsoft.VisualBasic.Devices.Computer();
int i = myComputer.Mouse.WheelScrollLines;
try
{
if (numericUpDown1.Value >= 0)
{
if (e.Delta > 0)
{
numericUpDown1.Value += 1 - i;
}
else
{
numericUpDown1.Value -= 1 - i;
}
}
else
{
if (e.Delta > 0)
{
numericUpDown1.Value += 1 - i;
}
else
{
numericUpDown1.Value -= 1 - i;
}
}
}
catch (ArgumentOutOfRangeException)
{
//max:100, min:-100とし場合
if (numericUpDown1.Value >= 100)
{
numericUpDown1.Value = 100;
}
else
{
numericUpDown1.Value = -100;
}
}
}
|
|