parsdarab
دوشنبه 16 اسفند 1389, 11:28 صبح
چطوری میشه آدرس یک تابع را به عنوان یک پارامتر به یک کلاس فرستاد و اون کلاس بتونه اون تابع رو شروع به اجرا کنه.
به کد زیر نگاه کنید.
Public Class thread
Dim Stat_1 AsStatC
Dim Tr As Threading.Thread
Public Enum StatC
vbStop = 0
vbRun = 1
vbPause = 2
End Enum
Public Sub _Start()
If Stat_1 = StatC.vbStop Then
Me.Tr = New Threading.Thread(New Threading.ThreadStart(AddressOfMe.Roshan))
Tr.Priority = Threading.ThreadPriority.Highest
Tr.Start()
End If
End Sub
Public Sub _Resume_()
If Not IsNothing(Tr) Then Tr.Resume()
Stat_1 = StatC.vbPause
End Sub
Public Sub _Pause()
If Not IsNothing(Tr) Then Tr.Suspend()
Stat_1 = StatC.vbPause
End Sub
Public Sub _Stop()
If Not IsNothing(Tr) Then Tr.Abort()
Stat_1 = StatC.vbStop
Form1.Cursor = Cursors.Default
End Sub
Private Sub Roshan()
Try
If Form1.FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
Form1.TreeView1.Nodes.Clear()
Dim nd AsNewTreeNode
Dim inifolder AsString = Form1.FolderBrowserDialog1.SelectedPath.ToString
nd = Form1.TreeView1.Nodes.Add(inifolder)
'Me.Show()
Application.DoEvents()
Form1.Cursor = Cursors.WaitCursor
ScanFolder(inifolder, nd)
Form1.Cursor = Cursors.Default
End If
Catch ex AsException
End Try
End Sub
End Class
در این کلاس تابعی به نام Roshan داریم که داخل کلاس تعریف کردیم ما می خواهیم این تابع رو بیرون از کلاس تعریف کنیم و وقتی که یک شی از این کلاس ساختیم و خواستیم این شی را با متد start شروع به اجرای تابع کنیم ادرس تابع به عنوان پارامتر بگیره و تابعی رو که ما می خواهیم اجرا کنه
با تشکر از کسانی که بتونن به این سئوال پاسخ دهند
:متفکر:
به کد زیر نگاه کنید.
Public Class thread
Dim Stat_1 AsStatC
Dim Tr As Threading.Thread
Public Enum StatC
vbStop = 0
vbRun = 1
vbPause = 2
End Enum
Public Sub _Start()
If Stat_1 = StatC.vbStop Then
Me.Tr = New Threading.Thread(New Threading.ThreadStart(AddressOfMe.Roshan))
Tr.Priority = Threading.ThreadPriority.Highest
Tr.Start()
End If
End Sub
Public Sub _Resume_()
If Not IsNothing(Tr) Then Tr.Resume()
Stat_1 = StatC.vbPause
End Sub
Public Sub _Pause()
If Not IsNothing(Tr) Then Tr.Suspend()
Stat_1 = StatC.vbPause
End Sub
Public Sub _Stop()
If Not IsNothing(Tr) Then Tr.Abort()
Stat_1 = StatC.vbStop
Form1.Cursor = Cursors.Default
End Sub
Private Sub Roshan()
Try
If Form1.FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
Form1.TreeView1.Nodes.Clear()
Dim nd AsNewTreeNode
Dim inifolder AsString = Form1.FolderBrowserDialog1.SelectedPath.ToString
nd = Form1.TreeView1.Nodes.Add(inifolder)
'Me.Show()
Application.DoEvents()
Form1.Cursor = Cursors.WaitCursor
ScanFolder(inifolder, nd)
Form1.Cursor = Cursors.Default
End If
Catch ex AsException
End Try
End Sub
End Class
در این کلاس تابعی به نام Roshan داریم که داخل کلاس تعریف کردیم ما می خواهیم این تابع رو بیرون از کلاس تعریف کنیم و وقتی که یک شی از این کلاس ساختیم و خواستیم این شی را با متد start شروع به اجرای تابع کنیم ادرس تابع به عنوان پارامتر بگیره و تابعی رو که ما می خواهیم اجرا کنه
با تشکر از کسانی که بتونن به این سئوال پاسخ دهند
:متفکر: