I have a panel on my form with AutoScroll set to true so a scrollbar appears automatically.
How can I make it so a user can use his mouse wheel to scroll the panel? Thanks SO.
I have a panel on my form with AutoScroll set to true so a scrollbar appears automatically.
How can I make it so a user can use his mouse wheel to scroll the panel? Thanks SO.
Below code works for me.....
Public Form
{
InitializeComponent();
this.MouseWheel += new MouseEventHandler(Panel1_MouseWheel);
}
private void Panel1_MouseWheel(object sender, MouseEventArgs e)
{
panel1.Focus();
}
In my case, the whole client area of the panel was occupied by UserControls (not a single pixel of the inner area visible, except the scrollbars).
In this case the panel doesn't get the mouse-events and will never focus (apperently, clicking on the scrollbar does not count as "being inside the panel").
I had to add the following lines to the constructor of my UserControl derived class:
MouseEnter += delegate {
Parent?.Focus();
};
Now it works fine, as I have no scrollable content in the UserControls.