MouseWheel event doesn't fire when using any control with scrolbars (in C# Windows Forms)

c#, events, mousewheel, scrollbar, winforms

Solution

I found solution, gility is default "Mouse Configuration". Lenovo USB Optical Wheel Mouse default configuration is:

Control Panel/Mouse/Wheel/Whell->Enable Universal Scrolling;

I changed to:

Control Panel/Mouse/Wheel/Whell->Use Microsoft Office 97 Scrolling Emulation Only

Now in .net code MouseWheel working with Focused Control.

But questions are:

- how can I fix it in .net code?

- how can I detect this situation in .net code?

Any ideas ?

Problem

MouseWheel event doesn't fire when I' am using any control (ListBox, Panel, TextBox) with scrollbars. To reproduce problem: ``` public class Form1 : Form { private readonly Button button1; private readonly TextBox textBox1; private void button1_MouseWheel(object sender, MouseEventArgs e) { ToString(); // doesn't fire when uncomment lines below } public Form1() { button1 = new Button(); textBox1 = new TextBox(); SuspendLayout(); button1.Location = new System.Drawing.Point(80, 105); button1.Size = new System.Drawing.Size(75, 23); button1.MouseWheel += button1_MouseWheel; button1.Click += button1_Click; textBox1.Location = new System.Drawing.Point(338, 105); //textBox1.Multiline = true; // uncomment this //textBox1.ScrollBars = ScrollBars.Vertical; // uncomment this textBox1.Size = new System.Drawing.Size(100, 92); ClientSize = new System.Drawing.Size(604, 257); Controls.Add(textBox1); Controls.Add(button1); ResumeLayout(false); PerformLayout(); } // Clicking the button sets Focus, but even I do it explicit Focus() or Select() // still doesn't work private void button1_Click(object sender, System.EventArgs e) { button1.Focus(); button1.Select(); } } ```

Original source