日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

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

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

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

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

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();//設(shè)置鼠標事件GiveFeedbackEventHandler handler = new GiveFeedbackEventHandler(DragSource_GiveFeedback);dragElement.GiveFeedback += handler;DragDropEffects de = DragDrop.DoDragDrop(dragElement, data, DragDropEffects.Move);dragElement.GiveFeedback -= handler;//執(zhí)行完畢去除處理事件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

轉(zhuǎn)載于:https://www.cnblogs.com/az235/archive/2012/11/21/2781041.html

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。