title: Control.MouseWheel Event
body: <p>I created a simple application for zooming the image inside the picture box with the mouse wheel. It runs perfectly at my development laptop (Win10). But when I run it on my desktop PC (Win7), the zooming (using mouse wheel) function does not work. </p>
  
  <p>Below is my snippet of my implementation:</p>
  
  <pre><code>        private void InitializeComponent()
      {
          this.pictureBox1 = new System.Windows.Forms.PictureBox();
          this.panel1 = new System.Windows.Forms.Panel();
          ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
          this.panel1.SuspendLayout();
          this.SuspendLayout();
          // 
          // pictureBox1
          // 
          this.pictureBox1.Location = new System.Drawing.Point(4, 0);
          this.pictureBox1.Margin = new System.Windows.Forms.Padding(4);
          this.pictureBox1.Name = "pictureBox1";
          this.pictureBox1.Size = new System.Drawing.Size(493, 583);
          this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
          this.pictureBox1.TabIndex = 0;
          this.pictureBox1.TabStop = false;
          this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
          this.pictureBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseDown);
          this.pictureBox1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseMove);
          this.pictureBox1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseUp);
          this.pictureBox1.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseWheel);
          // 
          // panel1
          // 
          this.panel1.AutoScroll = true;
          this.panel1.AutoSize = true;
          this.panel1.Controls.Add(this.pictureBox1);
          this.panel1.Location = new System.Drawing.Point(1, 2);
          this.panel1.Name = "panel1";
          this.panel1.Size = new System.Drawing.Size(714, 593);
          this.panel1.TabIndex = 1;
          // 
          // Form1
          // 
          this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
          this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
          this.AutoScroll = true;
          this.ClientSize = new System.Drawing.Size(719, 594);
          this.Controls.Add(this.panel1);
          this.Margin = new System.Windows.Forms.Padding(4);
          this.Name = "Form1";
          this.Text = "Form1";
          this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
          ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
          this.panel1.ResumeLayout(false);
          this.panel1.PerformLayout();
          this.ResumeLayout(false);
          this.PerformLayout();
  
      }
  
  private float ZOOM = 1.5f
  private void pictureBox1_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
      {
          pictureBox1.Focus();
          if (e.Delta &lt; 0) //ZoomIn
          {
              Console.WriteLine("Mouse Wheel Zoom In");
  
              if ((pictureBox1.Width &lt; panel1.Width) &amp;&amp; (pictureBox1.Height &lt; panel1.Height))
              {
                  pictureBox1.Width = Convert.ToInt32(pictureBox1.Width * ZOOM);
                  pictureBox1.Height = Convert.ToInt32(pictureBox1.Height * ZOOM);
                  pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
  
                  this.Refresh();                    
              }
  
          }
          else
          {
              //ZoomOut
              Console.WriteLine("Mouse Wheel Zoom Out");
              if ((pictureBox1.Width &gt; panel1.Width) &amp;&amp;
              (pictureBox1.Height &gt; panel1.Height))
              {
                  pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
                  pictureBox1.Width = Convert.ToInt32(pictureBox1.Width / ZOOM);
                  pictureBox1.Height = Convert.ToInt32(pictureBox1.Height / ZOOM);
              }
          }
      }
  </code></pre>
  
  <p>I think that it is the problem with the Control.MouseWheel event on my desktop PC. When I was debugging, this event never came up although I already focused or clicked inside the picture box. When I tried other implementation using implementation by filtering the <code>WM_MOUSEWHEEL = 0x20a;</code> message, it works both on my laptop and my desktop. Any idea why these different behaviors are happening? Thank you for your time.   </p>