问题
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.
来源:https://stackoverflow.com/questions/5067366/scroll-when-rubber-band-reaches-edge-of-panel