El evento MouseWheel no se activa cuando estoy usando cualquier control (ListBox, Panel, TextBox) con barras de desplazamiento.El evento MouseWheel no se dispara cuando se usa cualquier control con barras de desplazamiento (en C# Windows Forms)
para reproducir el problema:
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();
}
}
Tal vez el problema es en el ratón, utilizo "Lenovo USB óptico con rueda del ratón" (configuración por defecto "Whell botón" función "Quick/desplazamiento automático") – halorty
que utilizo: Windows Vista Buisness, .Net Framework 3.5 SP1 , Visual Studio 2008 Standard Edition (todas las revisiones oficiales). Build Debug: Target Framework = .Net Framework 3.5, Tipo de salida = Aplicación de Windows – halorty
Configuración del mouse: Panel de control/Mouse/Rueda/Whell-> Activar desplazamiento universal; Panel de control/Mouse/Rueda/Botón Whell-> Quick/AutoScrol; Panel de control/Mouse/Rueda/Velocidad de desplazamiento-> Desplazamiento = 10 línea (s) por cada; – halorty