自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡(jiǎn)單講述VB.NET表間拖放

開(kāi)發(fā) 后端
這里介紹VB.NET表間拖放有一個(gè)情況是從一個(gè)列表移動(dòng)項(xiàng)目到另一個(gè)列表。這種情況下拖放將變得更加簡(jiǎn)單。向窗體中添加兩個(gè)ListView控件,并把他們的AllowDrop、Multiselect、View屬性分別設(shè)置成True、True、List。

經(jīng)過(guò)長(zhǎng)時(shí)間學(xué)習(xí)VB.NET表間拖放,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。

VB.NET表間拖放

VB.NET表間拖放有一個(gè)情況是從一個(gè)列表移動(dòng)項(xiàng)目到另一個(gè)列表。這種情況下拖放將變得更加簡(jiǎn)單。向窗體中添加兩個(gè)ListView控件,并把他們的AllowDrop、Multiselect、View屬性分別設(shè)置成True、True、List。并添加如下代碼:

  1. Private Sub ListView_ItemDrag(ByVal sender As Object, ByVal e As _  
  2. System.Windows.Forms.ItemDragEventArgs) Handles ListView1.ItemDrag, _  
  3. ListView2.ItemDrag  
  4. Dim myItem As ListViewItem  
  5. Dim myItems(sender.SelectedItems.Count - 1) As ListViewItem  
  6. Dim i As Integer = 0 
  7.  
  8. ' Loop though the SelectedItems collection for the source.  
  9. For Each myItem In sender.SelectedItems  
  10. ' Add the ListViewItem to the array of ListViewItems.  
  11. myItems(i) = myItem  
  12. ii = i + 1  
  13. Next  
  14. ' Create a DataObject containg the array of ListViewItems.  
  15. sender.DoDragDrop(New _  
  16. DataObject(System.Windows.Forms.ListViewItem(), myItems), _  
  17. DragDropEffects.Move)  
  18. End Sub  
  19.  
  20. Private Sub ListView_DragEnter(ByVal sender As Object, ByVal e As _  
  21. System.Windows.Forms.DragEventArgs) Handles ListView1.DragEnter, _  
  22. ListView2.DragEnter  
  23. ' Check for the custom DataFormat ListViewItem array.  
  24. If e.Data.GetDataPresent(System.Windows.Forms.ListViewItem()) Then  
  25. e.Effect = DragDropEffects.Move  
  26. Else  
  27. e.Effect = DragDropEffects.None  
  28. End If  
  29. End Sub  
  30.  
  31. Private Sub ListView_DragDrop(ByVal sender As Object, ByVal e As _  
  32. System.Windows.Forms.DragEventArgs) Handles ListView1.DragDrop, _  
  33. ListView2.DragDrop  
  34. Dim myItem As ListViewItem  
  35. Dim myItems() As ListViewItem = _ e.Data.GetData(System.Windows.Forms.ListViewItem())  
  36. Dim i As Integer = 0 
  37.  
  38. For Each myItem In myItems  
  39. ' Add the item to the target list.  
  40. sender.Items.Add(myItems(i).Text)  
  41. ' Remove the item from the source list.  
  42. If sender Is ListView1 Then  
  43. ListView2.Items.Remove(ListView2.SelectedItems.Item(0))  
  44. Else  
  45. ListView1.Items.Remove(ListView1.SelectedItems.Item(0))  
  46. End If  
  47. ii = i + 1  
  48. Next  
  49. End Sub 


你可能不明白為什么這個(gè)例子中用的是ListView控件而不是ListBox控件,這個(gè)問(wèn)題題的好,因?yàn)長(zhǎng)istBox控件不支持多項(xiàng)拖放。ListView和TreeView控件有個(gè)ItemDrag事件。上面的例子中,一個(gè)ItemDrag事件句柄覆蓋了兩個(gè)控件,并在列在Handles從句。Sender參數(shù)表明哪個(gè)控件正在初始化Drag。因?yàn)镈ataFormats類(lèi)沒(méi)有ListViewItem類(lèi)型成員,數(shù)據(jù)必須傳遞給一個(gè)系統(tǒng)類(lèi)型。ItemDrag創(chuàng)建了一個(gè)ListViewItem類(lèi)型的數(shù)組,并用一個(gè)循環(huán)來(lái)遍歷SelectedItem集合。在DoDragDrop方法中,創(chuàng)建了一個(gè)新的DataObject并用數(shù)組來(lái)來(lái)對(duì)它進(jìn)行操作??梢杂眠@種方法來(lái)拖放任何系統(tǒng)類(lèi)型。

VB.NET表間拖放結(jié)論:

正像你從這些例子中所看到的一樣,為應(yīng)用程序添加拖放操作并不是很難。當(dāng)你理解了這些基本的技巧后,你就可以為你自己的程序添加拖放的代碼了 。

【編輯推薦】

  1. 分析VB QuickSort應(yīng)用程序
  2. 如何掌握強(qiáng)大的VB.NET ReadLine()方法
  3. 講述強(qiáng)大的VB.NET Web Forms,使用起來(lái)卻如此簡(jiǎn)單
  4. 兩步就可以掌握VB使用ArrayList類(lèi)
  5. VB.NET應(yīng)用程序的入門(mén)指南
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2009-10-16 13:26:53

VB.NET Exce

2009-10-19 08:55:22

VB.NET多重繼承

2009-10-15 16:39:00

VB.NET讀取INI

2009-10-15 11:11:08

VB.NET Text

2009-10-14 17:08:44

VB.NET使用Fil

2009-10-26 09:50:11

C#與VB.NET

2009-10-21 10:45:50

VB.NET Quic

2009-10-12 16:39:59

OracleTransVB.NET使用

2009-10-13 17:03:55

VB.NET面向?qū)ο?/a>

2009-11-02 15:45:03

VB.NET IEnu

2009-10-16 09:35:24

VB.NET制作透明窗

2009-10-23 14:58:05

VB.NET傳輸表空間

2009-10-10 16:44:52

VB.NET開(kāi)發(fā)控件

2009-10-23 13:22:25

VB.NET實(shí)現(xiàn)拖動(dòng)圖

2009-10-14 11:15:06

VB.NET Grou

2010-01-13 17:47:59

VB.NET拖放

2009-10-27 11:39:03

VB.NET事件處理程

2009-10-22 09:20:46

VB.NET Proc

2009-10-26 18:11:47

VB.NET調(diào)用Exc

2009-10-29 09:57:16

VB.NET實(shí)現(xiàn)數(shù)據(jù)綁
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)