Scroll when rubber band reaches edge of panel

2019-08-09 19:59发布

问题:

I have a rubber band that captures the cursor. How can I scroll a panel if the cursor reaches the edge of the panel? Let me know if you need more info, I think it explains itself.

回答1:

You need to use the MouseMove event and check if the button is down and the cursor is located close to the edge of the panel. Say within 5 pixels. Enable a timer if that's the case, it should tick at ~200 msec. In the Tick event handler adjust the panel's AutoScrollPosition property to make it scroll.

Keep in mind that the effective mouse position is e.Location plus AutoScrollPosition.