欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
分享個(gè)人總結VB.NET多線(xiàn)程
  • 分享個(gè)人總結VB.NET多線(xiàn)程

    這里介紹VB.NET多線(xiàn)程的優(yōu)點(diǎn):可以及時(shí)響應用戶(hù)的操作,可使軟件的性能提高。VB.NET多線(xiàn)程的編寫(xiě):結構合理、注意同步。

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

    VB.NET多線(xiàn)程的優(yōu)點(diǎn):可以及時(shí)響應用戶(hù)的操作,不至于產(chǎn)生“未響應”的尷尬;設計合理(結合需求)的話(huà),可使軟件的性能提高。VB.NET多線(xiàn)程的編寫(xiě):結構合理、注意同步。

    以上是我對這個(gè)例程和VB.NET多線(xiàn)程的個(gè)人體會(huì ),如有不妥之處,還請大家批評指正。

            
    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. '窗體重寫(xiě) 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. '注意: 以下過(guò)程是 Windows 窗體設計器所必需的  
    28. '可以使用 Windows 窗體設計器修改此過(guò)程。  
    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. '多線(xiàn)程  
    115. Dim t As Threading.Thread = New Threading.Thread(AddressOf Me.OpenBrower)  
    116. t.Start()  
    117.  
    118. '單線(xiàn)程  
    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 

    【編輯推薦】

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
VB.NET中動(dòng)態(tài)加載Treeview節點(diǎn)
ASP.NET中樹(shù)形圖的實(shí)現
采用遞歸算法為T(mén)reeView控件加載節點(diǎn)(節點(diǎn)信息保存于SqlServer) ASP.Net相...
windows mobile 下如何編程實(shí)現重啟、關(guān)機(vb.net)(頁(yè) 1) - 移動(dòng)...
Flash player1
在VB.NET中進(jìn)行抓屏
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久