日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

WPF拖拽过程中修改鼠标指针属性

發布時間:2025/4/16 asp.net 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF拖拽过程中修改鼠标指针属性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在WPF中鼠標拖拽時,指針默認是個圓圈(呵呵,有點難看),網上找了一圈沒有找到好的方法,在此把我的解決過程寫下:

在拖拽過程中使用到了DragDrop類,類中DoDragDrop方法為啟動拖拽操作,而改變鼠標指針事件處理函數應當在執行啟動拖拽操作之前加入到拖拽的事件隊列中去,在DragDrop類中有一系列的事件處理函數,而需要操作鼠標指針的事件是GiveFeedback,代碼中只要加入一個處理函數即可,上代碼:

private void StartDragWindow<T>(MouseEventArgs e, T dragElement) where T : ContentControl{QueryContinueDragEventHandler queryhandler = new QueryContinueDragEventHandler(DragSource_QueryContinueDrag);dragElement.QueryContinueDrag += queryhandler;DataObject data = new DataObject(typeof(string), "Moved!!!");this._dragdropWindow.Show();//設置鼠標事件GiveFeedbackEventHandler handler = new GiveFeedbackEventHandler(DragSource_GiveFeedback);dragElement.GiveFeedback += handler;DragDropEffects de = DragDrop.DoDragDrop(dragElement, data, DragDropEffects.Move);dragElement.GiveFeedback -= handler;//執行完畢去除處理事件dragElement.QueryContinueDrag -= queryhandler;}void DragSource_GiveFeedback(object sender, GiveFeedbackEventArgs e){Mouse.SetCursor(Cursors.Arrow);//修改鼠標樣式e.UseDefaultCursors = false;e.Handled = true;}//更新位置void DragSource_QueryContinueDrag(object sender, QueryContinueDragEventArgs e){this.UpdateWindowLocation();}

  搞定,收工

詳細了解DragDrop類的拖拽事件處理,請參考這里http://blogs.msdn.com/b/jaimer/archive/2007/07/12/drag-drop-in-wpf-explained-end-to-end.aspx

轉載于:https://www.cnblogs.com/az235/archive/2012/11/21/2781041.html

總結

以上是生活随笔為你收集整理的WPF拖拽过程中修改鼠标指针属性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。