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

分享個人總結VB.NET多線程

開發 后端
這里介紹VB.NET多線程的優點:可以及時響應用戶的操作,可使軟件的性能提高。VB.NET多線程的編寫:結構合理、注意同步。

VB.NET有很多值得學習的地方,這里我們主要介紹VB.NET多線程,包括介紹功能和實現等方面。
功能:把選定文件夾下的dll、子文件夾和子文件夾中的dll填寫到窗體的treeview控件上。缺點:窗體簡單,代碼有些混亂,線程之間的調用可能沒有到最優化。
實現:imagelist中的圖片需要自己重新定義。

VB.NET多線程的優點:可以及時響應用戶的操作,不至于產生“未響應”的尷尬;設計合理(結合需求)的話,可使軟件的性能提高。VB.NET多線程的編寫:結構合理、注意同步。

以上是我對這個例程和VB.NET多線程的個人體會,如有不妥之處,還請大家批評指正。

  1. Imports System.IO  
  2. Public Class Form1  
  3. Inherits System.Windows.Forms.Form  
  4.  
  5. #Region " Windows 窗體設計器生成的代碼 "  
  6.  
  7. Public Sub New()  
  8. MyBase.New()  
  9. '該調用是 Windows 窗體設計器所必需的。  
  10. InitializeComponent()  
  11. '在 InitializeComponent() 調用之后添加任何初始化  
  12. End Sub  
  13.  
  14. '窗體重寫 dispose 以清理組件列表。  
  15. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)  
  16. If disposing Then  
  17. If Not (components Is Nothing) Then  
  18. components.Dispose()  
  19. End If  
  20. End If  
  21. MyBase.Dispose(disposing)  
  22. End Sub  
  23.  
  24. 'Windows 窗體設計器所必需的  
  25. Private components As System.ComponentModel.IContainer  
  26.  
  27. '注意: 以下過程是 Windows 窗體設計器所必需的  
  28. '可以使用 Windows 窗體設計器修改此過程。  
  29. '不要使用代碼編輯器修改它。  
  30. Friend WithEvents TreeView1 As System.Windows.Forms.TreeView  
  31. Friend WithEvents btnOpenBrower As System.Windows.Forms.Button  
  32. Friend WithEvents ImageList1 As System.Windows.Forms.ImageList  
  33. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()  
  34. Me.components = New System.ComponentModel.Container  
  35. Dim resources As System.Resources.ResourceManager = 
    New System.Resources.ResourceManager(GetType(Form1))  
  36. Me.TreeView1 = New System.Windows.Forms.TreeView  
  37. Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components)  
  38. Me.btnOpenBrower = New System.Windows.Forms.Button  
  39. Me.SuspendLayout()  
  40.  
  41. 'TreeView1  
  42.  
  43. Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Left  
  44. MeMe.TreeView1.ImageList = Me.ImageList1  
  45. Me.TreeView1.Location = New System.Drawing.Point(0, 0)  
  46. Me.TreeView1.Name = "TreeView1" 
  47. Me.TreeView1.Size = New System.Drawing.Size(376, 581)  
  48. Me.TreeView1.TabIndex = 0 
  49.  
  50. 'ImageList1  
  51.  
  52. Me.ImageList1.ImageSize = New System.Drawing.Size(16, 16)  
  53. Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), 
    System.Windows.Forms.ImageListStreamer)  
  54. Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent  
  55.  
  56. 'btnOpenBrower  
  57.  
  58. Me.btnOpenBrower.Location = New System.Drawing.Point(408, 64)  
  59. Me.btnOpenBrower.Name = "btnOpenBrower" 
  60. Me.btnOpenBrower.Size = New System.Drawing.Size(96, 23)  
  61. Me.btnOpenBrower.TabIndex = 1 
  62. Me.btnOpenBrower.Text = "Open Brower" 
  63.  
  64. 'Form1  
  65.  
  66. Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)  
  67. Me.ClientSize = New System.Drawing.Size(536, 581)  
  68. Me.Controls.Add(Me.btnOpenBrower)  
  69. Me.Controls.Add(Me.TreeView1)  
  70. Me.Name = "Form1" 
  71. Me.Text = "Form1" 
  72. Me.ResumeLayout(False)  
  73. End Sub  
  74.  
  75. #End Region  
  76. Private Sub OpenBrower()  
  77. Dim f As New FolderBrowserDialog  
  78. If f.ShowDialog = DialogResult.OK Then  
  79. Me.TreeView1.Nodes.Clear()  
  80. Me.SuspendLayout()  
  81. Dim nodeTemp As TreeNode = CType(Me.Invoke(New AddTreeNodeHandler
    (AddressOf Me.AddFileToTreeview), New Object() {f.SelectedPath}), TreeNode)  
  82. Me.AddFile(New DirectoryInfo(f.SelectedPath), nodeTemp)  
  83. Me.ResumeLayout(False)  
  84. End If  
  85. End Sub  
  86.  
  87. Private Sub AddFile(ByVal dirPath As DirectoryInfo, ByVal node As TreeNode)  
  88. Dim tempHandler As New AddFileHandler(AddressOf Me.AddFileToTreeNode)  
  89. For Each dir As DirectoryInfo In dirPath.GetDirectories()  
  90. Dim nodeTemp As TreeNode = CType(Me.Invoke(tempHandler, 
    New Object() {dir.Name, CLASSIO.Directory, node}), TreeNode)  
  91. Me.AddFile(dir, nodeTemp)  
  92. Next  
  93. For Each file As FileInfo In dirPath.GetFiles("*.dll")  
  94. Me.Invoke(tempHandler, New Object() {file.Name, CLASSIO.File, node})  
  95. Next  
  96. End Sub  
  97.  
  98. Private Function AddFileToTreeNode(ByVal str As String, 
    ByVal cls As CLASSIO, ByVal node As TreeNode) As TreeNode  
  99. Dim nodeTemp As New TreeNode(str)  
  100. nodeTemp.ImageIndex = CInt(cls)  
  101. node.Nodes.Add(nodeTemp)  
  102. nodeTempnodeTemp.SelectedImageIndex = nodeTemp.ImageIndex  
  103. Return nodeTemp  
  104. End Function  
  105.  
  106. Private Function AddFileToTreeview(ByVal str As String) As TreeNode  
  107. Dim nodeTemp As New TreeNode(str)  
  108. Me.TreeView1.Nodes.Add(nodeTemp)  
  109. Return nodeTemp  
  110. nodeTemp.SelectedImageIndex = CInt(CLASSIO.Directory)  
  111. End Function  
  112.  
  113. Private Sub btnOpenBrower_Click(ByVal sender As System.Object, 
    ByVal e As System.EventArgs) Handles btnOpenBrower.Click  
  114. '多線程  
  115. Dim t As Threading.Thread = New Threading.Thread(AddressOf Me.OpenBrower)  
  116. t.Start()  
  117.  
  118. '單線程  
  119. 'Me.OpenBrower()  
  120. End Sub  
  121. End Class  
  122.  
  123. Public Enum CLASSIO  
  124. File = 1 
  125. Directory = 0 
  126. End Enum  
  127.  
  128. Public Delegate Function AddFileHandler(ByVal str As String, 
    ByVal cls As CLASSIO, ByVal Node As TreeNode) As TreeNode  
  129. Public Delegate Function AddTreeNodeHandler(ByVal str As String) As TreeNode 

【編輯推薦】

  1. 全方位分析VB.NET編碼規范
  2. 詳細說明VB.NET變量中四點
  3. 三類十二種VB.NET數據類型全面介紹
  4. VB.NET初步知識,初學者必看
  5. 具體介紹四大類VB.NET循環
責任編輯:佚名 來源: 天極
相關推薦

2010-01-18 18:06:07

VB.NET多線程

2010-01-08 10:48:05

VB.NET多線程

2009-10-10 16:15:49

VB.NET開發多線程

2009-10-20 10:59:32

VB.NET編程

2009-10-27 12:20:06

VB.NET多線程應用

2009-10-20 10:23:08

VB.NET多線程編程

2009-11-10 13:08:13

VB.NET編程技巧

2009-11-02 13:14:18

VB.NET函數

2010-01-20 17:54:13

VB.NET特殊字符

2010-01-14 18:14:22

VB.NET開發特點

2009-10-12 13:32:58

VB.NET線程構造器

2009-10-12 13:11:48

VB.NET使用線程

2009-10-12 13:19:14

VB.NET線程同步

2010-01-12 16:39:26

VB.NET數據綁定

2009-10-28 09:21:19

VB.NET技術

2009-11-03 10:51:33

VB.NET共享

2010-01-22 11:02:30

VB.NET創建新變量

2010-01-13 15:52:59

VB.NET浮動窗體

2010-01-12 17:02:54

VB.NET文件上傳

2010-01-18 16:33:57

VB.NET加密文件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美在线一区二区 | 中文av字幕 | 欧美综合自拍 | 国产精品久久久久久久久久东京 | 一级免费视频 | 99这里只有精品视频 | 高清欧美性猛交xxxx黑人猛交 | 国产目拍亚洲精品99久久精品 | av免费看在线 | 亚洲网站在线观看 | 国产在线视频一区 | 欧美视频三区 | 国产成人免费在线观看 | 日韩av成人在线 | 成年免费在线观看 | 中文字幕亚洲区一区二 | av片在线观看网站 | 人人爽人人爽人人片av | 国产精品成人免费 | av一区二区三区四区 | 欧美1—12sexvideos| 日韩精品久久久久 | a级片播放 | 91精品久久久久久久久中文字幕 | 伊人免费在线观看高清 | 啪啪综合网 | 国产激情视频 | 国产主播第一页 | 亚洲高清一区二区三区 | 在线精品一区二区 | 在线国产视频观看 | 午夜视频在线观看网址 | 夜夜操av| 伊人色综合久久久天天蜜桃 | 久久久久国产一级毛片 | 亚洲在线视频 | 黄色片亚洲 | 国产日韩久久 | 国产精品资源在线观看 | 午夜免费视频观看 | 爱综合 |