熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> ASP編程 >> 正文

從DataGridView托放數據到TreeView控件

2013-11-15 12:48:30  來源: ASP編程 

  實現方法在datagridview的mousedown事件中開始 托放

  然後在treeview 的 DragEnter 中接收托放

  最後在treeview的 DragDrop 中處理托放結果

  注treeview的allowdrop屬性要設置為 true

  

  前面已經實現了從 DataGridView 拖放數據到 TreeView不過拖放是通過 鼠標右鍵完成的 根據windows的一般標准是通過鼠標左鍵來進行數據拖放操作的

  像windows資源管理器既能處理鼠標左鍵單機的選擇也能處理左鍵拖放操作

  這個怎麼實現?

  前面我們只處理了 DataGridView 的mousedown事件 現在要處理 mousedown mousemove mouseup這三個事件來完成這個任務

  大致過程如下

  在MouseDown事件裡面和之前一樣處理只是不啟動拖放操作

  而是保存要拖放的數據 以及建立一個小的矩形框(根據系統DragSize信息)

  然後在 MouseMove 事件裡面判斷是否已經准備好拖放了如果准備好了就啟動拖放操作

  (注鼠標在小矩形框范圍內的移動不啟動拖放操作)

  MouseUp裡面清除哪些標記量

  這樣就能處理左鍵單擊的選擇和 左鍵拖放了

  代碼如下

  

  最後使用中又發現一個問題

  就是不能用鼠標左鍵圈選單元格了

  這個該怎麼處理呢? 這兩個操作是有沖突的

  這裡我們可以通過時間來控制 即我們要求按下鼠標左鍵 秒之後 拖動鼠標 就啟動數據拖放

  否則就按默認的圈選單元格

  即增加一個變量在 MouseDown裡面記錄時間在 MouseMove裡面判斷時間差

  如果不夠 秒就不啟動數據拖放


From:http://tw.wingwit.com/Article/program/ASP/201311/21667.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.