成人免费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-29 09:57:16

VB.NET實現數據綁

2009-10-21 10:45:50

VB.NET Quic

2009-10-14 17:08:44

VB.NET使用Fil

2009-10-16 13:26:53

VB.NET Exce

2009-10-15 11:11:08

VB.NET Text

2009-10-10 16:44:52

VB.NET開發控件

2009-10-15 16:39:00

VB.NET讀取INI

2009-10-14 11:15:06

VB.NET Grou

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-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-27 11:39:03

VB.NET事件處理程

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技術棧公眾號

主站蜘蛛池模板: 精品国产一区二区三区日日嗨 | 狠狠做深爱婷婷综合一区 | 日韩欧美三区 | 毛片免费观看视频 | 亚洲视频国产 | 国产乱人伦 | 色在线免费视频 | 四虎影音| 国产伦精品一区二区三区视频金莲 | www.激情.com | 国产一区二区三区四区五区加勒比 | 日韩在线国产 | 午夜av成人| 狠狠久久 | www.日本在线观看 | 91亚洲欧美 | 在线观看www | 日韩一区和二区 | 很黄很污的网站 | 日本一本在线 | 97av视频在线 | 99精品国产一区二区三区 | 一区二区三区四区五区在线视频 | 久久久精彩视频 | 久久久成人免费一区二区 | 91麻豆精品国产91久久久久久久久 | 欧美综合视频 | 黄网站在线播放 | 欧美极品少妇xxxxⅹ免费视频 | 久久夜视频 | 国产一区二区三区视频免费观看 | 毛片网站在线观看 | 成人欧美日韩一区二区三区 | 日日天天| 亚洲天堂av在线 | 天天躁日日躁狠狠的躁天龙影院 | av中文字幕在线 | 成人激情视频在线播放 | 一区二区在线 | 成人午夜网站 | 亚洲精品乱码久久久久久按摩观 |