C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 20 を表示中)
■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;
                }
            }
        }

返信 編集キー/


管理者用

- Child Tree -