Остановить поиск, запущенный в отдельном потоке - Visual Basic .NET
Формулировка задачи:
Всем доброго дня.
Код взят от сюда:Поиск файлов по папке и подпапкам (поправить код)
Как мне остановить поиск?
Заранее благодарю.
Листинг программы
- Imports System.Threading
- Public Class Form1
- Public Class Param
- Private _Fold As String
- Private _Mask As String
- Public Property Fold As String
- Get
- Return _Fold
- End Get
- Set(value As String)
- _Fold = value.ToString
- End Set
- End Property
- Public Property Mask As String
- Get
- Return _Mask
- End Get
- Set(value As String)
- _Mask = value.ToString
- End Set
- End Property
- End Class
- Private Delegate Sub Add_Range(ByVal T As String)
- Private Sub Write_2_lst(ByVal T As String)
- If Not (InvokeRequired) Then
- ListBox1.Items.Add(T)
- Else
- Invoke(New Add_Range(AddressOf Write_2_lst), T)
- End If
- End Sub
- Private Sub Search(p As Param)
- Dim Dirs() As String
- Dim files() As String
- Try
- files = System.IO.Directory.GetFiles(p.Fold, p.Mask)
- For i = 0 To files.Length - 1
- Write_2_lst(files(i))
- Next
- Catch
- End Try
- Try
- Dirs = System.IO.Directory.GetDirectories(p.Fold, "*", IO.SearchOption.TopDirectoryOnly)
- If Not Dirs Is Nothing Then
- For Each cdir In Dirs
- Dim p1 As New Param
- p1.Fold = cdir
- p1.Mask = p.Mask
- Search(p1)
- Next
- End If
- Catch
- End Try
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Dim p As New Param
- p.Fold = "C:"
- p.Mask = "*.png"
- Dim th As New Thread(AddressOf Search)
- th.Start(p)
- End Sub
- End Class
Решение задачи: «Остановить поиск, запущенный в отдельном потоке»
textual
Листинг программы
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- p.Fold = TextBox7.Text
- p.Mask = TextBox8.Text
- 'th.Suspend()
- th.Abort()
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д