I have two FlowLayoutPanels on a form: PanelA and PanelB. Each will be populated at run-time with multiple controls, such that the panel will scroll (i.e AutoScroll is true).
Here’s the issue: The controls that the panels are populated with each contain a ComboBox. Thus, MouseWheel events are consumed by the combo box instead of by the panel. I want MouseWheel events to be consumed by the panel.
If there’s no scrollable control on the child controls, then the MouseWheel event skips the child control (which doesn’t handle it) and hits the panel, which does handle it. How can I set my child control’s combo box to ignore the MouseWheel event? Can I tell it to re-raise the event?
I tried just applying Focus to the Parent whenever one of the child controls ticks the ‘MouseEnter’ event; this fixed the scrolling issues, but also left the child controls completely un-editable.
Something else I’ve found from digging around involves fiddling with the Windows API directly, but I find it hard to believe that something like that is required for this.
I tested the following code and it seems like a solution to your issue. Basically you need to focus the ‘FlowLayoutPanel’ when you click on it, or your mouse enters it: