成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

講述VB.NET實現拖動圖片

開發 后端
這里介紹盡管VB.NET實現拖動圖片并不像拖放文本那樣經常用到,然而它在許多應用程序中仍然是很有用的。實際上這兩者之間也沒有什么不同,只不過是數據類型發生了變化而已。

學習VB.NET時,你可能會遇到VB.NET實現拖動圖片問題,這里將介紹VB.NET實現拖動圖片問題的解決方法,在這里拿出來和大家分享一下。盡管VB.NET實現拖動圖片并不像拖放文本那樣經常用到,然而它在許多應用程序中仍然是很有用的。實際上這兩者之間也沒有什么不同,只不過是數據類型發生了變化而已。
1、 在Form中添加兩個PictureBox控件。
2、 在代碼窗體中添加如下代碼

  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _  
  2. System.EventArgs) Handles MyBase.Load  
  3. ' Enable dropping.  
  4. PictureBox2.AllowDrop = True 
  5. End Sub  
  6.  
  7. Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As _  
  8. System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown  
  9. If Not PictureBox1.Image Is Nothing Then  
  10. ' Set a flag to show that the mouse is down.  
  11. m_MouseIsDown = True 
  12. End If  
  13. End Sub  
  14.  
  15. Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As _  
  16. System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove  
  17. If m_MouseIsDown Then  
  18. ' Initiate dragging and allow either copy or move.  
  19. PictureBox1.DoDragDrop(PictureBox1.Image, DragDropEffects.Copy Or _  
  20. DragDropEffects.Move)  
  21. End If  
  22. m_MouseIsDown = False 
  23. End Sub  
  24.  
  25. Private Sub PictureBox2_DragEnter(ByVal sender As Object, ByVal e As _  
  26. System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragEnter  
  27. If e.Data.GetDataPresent(DataFormats.Bitmap) Then  
  28. ' Check for the CTRL key.  
  29. If e.KeyState = 9 Then  
  30. e.Effect = DragDropEffects.Copy  
  31. Else  
  32. e.Effect = DragDropEffects.Move  
  33. End If  
  34. Else  
  35. e.Effect = DragDropEffects.None  
  36. End If  
  37. End Sub  
  38.  
  39. Private Sub PictureBox2_DragDrop(ByVal sender As Object, ByVal e As _  
  40. System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragDrop  
  41. ' Assign the image to the PictureBox.  
  42. PictureBox2.Image = e.Data.GetData(DataFormats.Bitmap)  
  43. ' If the CTRL key is not pressed, delete the source picture.  
  44. If Not e.KeyState = 8 Then  
  45. PictureBox1.Image = Nothing 
  46. End If  
  47. End Sub 

注意到上面的例子中第二個PictureBox控件的AllowDrop屬性是在Form1_load事件中設置的,這是因為設計時PictureBox并沒有AllowDrop屬性。在MouseDown事件中,代碼首先檢測是否有要賦給PictureBox的圖片;如果沒有的話,當你移動圖片后,接下來的click將引發一個意外。還應該注意到的是在DragEnter和DragDrop事件中代碼檢測CTRL鍵是否被按下,從而決定是否是復制還是VB.NET實現拖動圖片。

為什么值會不同呢?在 DragEnter事件中,當鼠標左鍵按下時,產生的值是1,在加上CTRL的值8,從而值為9。見KeyState枚舉列表DragEventArgs.KeyState Property到目前為止,這兩個例子處理的都是同一窗體不同控件間的拖放,然而在同一應用程序的不同窗體上同樣適用。

【編輯推薦】

  1. 深入分析VB.NET條件語句中的兩類
  2. 五大類VB.NET運算符全面介紹
  3. 全面討論VB.NET申明Windows API函數
  4. 剖析VB.NET平臺調用是如何執行操作
  5. 分享個人總結VB.NET多線程
責任編輯:佚名 來源: 比特網
相關推薦

2009-10-14 17:08:44

VB.NET使用Fil

2009-10-16 13:26:53

VB.NET Exce

2009-10-29 09:57:16

VB.NET實現數據綁

2009-10-21 10:45:50

VB.NET Quic

2009-10-13 17:03:55

VB.NET面向對象

2009-10-16 09:35:24

VB.NET制作透明窗

2009-11-02 15:45:03

VB.NET IEnu

2009-10-12 16:39:59

OracleTransVB.NET使用

2009-10-19 08:55:22

VB.NET多重繼承

2009-10-15 11:11:08

VB.NET Text

2009-10-15 16:39:00

VB.NET讀取INI

2009-10-14 11:15:06

VB.NET Grou

2009-10-10 16:44:52

VB.NET開發控件

2009-10-27 11:39:03

VB.NET事件處理程

2009-10-26 18:11:47

VB.NET調用Exc

2009-10-21 18:28:48

VB.NET表間拖放

2009-10-22 09:20:46

VB.NET Proc

2009-10-26 19:22:29

VB.NET使用Log

2009-11-03 17:31:01

VB.NET窗體

2010-01-15 13:30:50

VB.NET Prog
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99精品亚洲国产精品久久不卡 | 久久精品在线 | 福利社午夜影院 | 亚洲午夜精品 | 国产成人精品a视频一区www | 国产精品视频网 | 国产一级电影在线 | 自拍视频网站 | 日韩国产中文字幕 | 亚洲综合视频 | 久久99蜜桃综合影院免费观看 | 亚洲国产精选 | 在线免费观看黄色 | 欧美日韩久久 | 久久精品视频一区二区三区 | 天天夜夜操 | 中文字幕av色| 一级片在线视频 | 色婷婷av一区二区三区软件 | 国产高清在线视频 | 久久国内精品 | 亚洲成人综合网站 | 毛片在线免费 | 久久精品国产久精国产 | 一区二区视频免费观看 | www日日日 | 日韩欧美一区在线 | 亚洲性在线 | 国产精品免费一区二区三区四区 | 精品二三区 | 99精品一区二区 | 一区二区三区四区免费观看 | 国产ts人妖另类 | 新91视频网| 欧美性a视频 | 国产精品成人一区二区三区 | 国产亚洲欧美在线 | 毛片99| 精品视频在线观看 | 在线日韩欧美 | 亚洲欧美日本在线 |