我做了類似滾動條從Control
。一切都很好,但是當光標離開控制區時,OnMouseMove
不再被接收。
接收鼠標移動即使光標在控制之外
當您使用標準窗口滾動條時,即使鼠標光標位於控件表面之外,也可以使用它。
爲了避免這種情況,我唯一的想法是從屏幕上獲取光標位置,然後計算屏幕上的滾動條位置,並使用計時器或其他東西來更新我的Control
。但這聽起來很難和難看。
任何想法如何解決它?
編輯:我的意思是Control
而不是UserControl
。
EDIT2: 它接收鼠標!我有錯誤代碼,我的MouseMove方法中調用的MouseDown,但在我的MouseDown有X/Y的約束,這將迫使返回如果X < 0等
連這個都解決了,甚至那些你無法控制的,當光標移出「Form」範圍時,您會遇到同樣的問題。 –
我認爲你的問題是關於焦點。標準滾動條僅在焦點時纔有效。 – 2013-01-07 08:16:38
@KenKin通過鼠標捕捉(請參閱我的回答),即使窗口/表格不在 – Sebastian