国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net DoDragDrop 方法的使用

2024-07-10 12:41:37
字體:
來源:轉載
供稿:網友
在類庫中的定義為:
代碼如下:
[UIPermissionAttribute(SecurityAction.Demand, Clipboard = UIPermissionClipboard.OwnClipboard)]
public DragDropEffects DoDragDrop(
Object data,
DragDropEffects allowedEffects
)

其中data參數為要拖放的數據,如果拖動操作需要于另一個進程的應用程序相互操作,data代表的數據應該是基本托管類(String,BitMap,或MetaFile),或者是實現 ISerializable 或IDataObject的對象。 allowedEffects參數表示拖放的效果,為一個枚舉值(DragDropEffects).返回值也為DragDropEffects枚舉值。
  當開始調用DoDragDrop方法拖動一個數據對象時,DoDragDrops在拖放過程中,檢測當前光標位置下的控件是不是有效的放置目標。如果當前光標下的控件是有效的放置目標,則GiveFeedBack事件以指定的拖放效果引發。在檢測當前位置光標是否為有效的拖放目標時,DoDragDrops方法同時跟蹤光標位置,鍵盤狀態和鼠標狀態的更改。
   (1)如果用于移出了一個窗口,則引發DragLeave事件。
  (2)如果移入了另外一個控件,則引發該控件的DragEnter事件。
  (3)如果鼠標移動,但是停留在一個控件中,則引發DragOver事件。
如果檢測到更改了鍵盤或者鼠標狀態,則引發拖放源的QueryContinueDrag事件, 并根據事件的QueryContinueDragEventArgs的Action屬性值確定繼續拖動,放置數據或取消操作。
(1)如果Action屬性指定為Continue,則將引發DragOver事件。
(2)如果Action屬性指定為Drop,則將放置效果返回給源,以便應用程序對數據進行適當的操作;例如,如果是移動操作,則剪切數據。
(3)如果是DragAction的值為Cancel,則引發DragLeave事件
從csdn上摘抄一段示例代碼:
  下面的代碼示例演示在兩個 ListBox 控件之間的拖放操作。當拖動動作啟動時,該示例調用 DoDragDrop 方法。在 MouseDown 事件期間,如果從鼠標位置起鼠標移動的距離大于 SystemInformation..::.DragSize,則啟動拖動動作。IndexFromPoint 方法用于確定在 MouseDown 事件期間要拖動的項的索引。
  該示例還演示如何對拖放操作使用自定義光標。該示例要求應用程序目錄中存在兩個光標文件:3dwarro.cur 和 3dwno.cur,分別用于自定義拖動光標和禁止停放光標。如果選中 UseCustomCursorsCheckCheckBox,則使用自定義光標。自定義光標在 GiveFeedback 事件處理程序中設置。
  鍵盤狀態在右 ListBox 的 DragOver 事件處理程序中計算,以確定基于 Shift、Ctrl、Alt 或 Ctrl+Alt 鍵的狀態將發生哪種拖動操作。放置動作在 ListBox 中發生的位置也在 DragOver 事件期間確定。如果要放置的數據不是 String,則 DragDropEffects 中將把 DragEventArgs.sEffect 設置為 None。最后,停放狀態在 DropLocationLabelLabel 中顯示。
  要放置的用于右 ListBox 的數據在 DragDrop 事件處理程序中確定,并且在 ListBox 中的適當位置添加該 String 值。如果拖動操作移動到窗體邊框的外面,則 QueryContinueDrag 事件處理程序中將取消拖放操作
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金坛市| 杭锦后旗| 满城县| 浮梁县| 新竹县| 桐柏县| 集安市| 漯河市| 定西市| 修水县| 贺州市| 肥乡县| 聊城市| 闻喜县| 清新县| 赤峰市| 白沙| 祁东县| 蒙自县| 泗阳县| 阜南县| 金昌市| 连平县| 博罗县| 晋中市| 南汇区| 德阳市| 武夷山市| 泸西县| 出国| 会昌县| 洪雅县| 海兴县| 泸水县| 湟中县| 托克逊县| 苗栗县| 金川县| 兴和县| 铜梁县| 库伦旗|