1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| Public Class clsAsync
Private _Results As List(Of IAsyncResult) = New List(Of IAsyncResult)()
''' <summary>Mémorise les threads lancés pour avoir leurs états</summary>
Public Property Results() As List(Of IAsyncResult)
Get
Return _Results
End Get
Set(ByVal value As List(Of IAsyncResult))
_Results = value
End Set
End Property
#Region "Méthodes publiques"
''' <summary>Renseigne le texte d'un control</summary>
''' <param name="pOpt">0=Remplacer, 1=Ajouter (si StatusStrip=Index de l'item à renseigner).</param>
Public Function CtrlSetText(ctl As Control, pValue As String, Optional pOpt As Integer = 0) As IAsyncResult
If (ctl.InvokeRequired) Then
Dim r As IAsyncResult = ctl.BeginInvoke(New ControlSetStr(AddressOf CtrlAddText), ctl, pValue, pOpt) : _Results.Add(r) : Return r
ElseIf (Not ctl.IsDisposed) Then
CtrlAddText(ctl, pValue, pOpt)
End If
Return Nothing
End Function
Public Function CtrlSetReadOnly(ctl As Control, pValue As Boolean) As IAsyncResult
If (ctl.InvokeRequired) Then
Dim r As IAsyncResult = ctl.BeginInvoke(New ControlSet(AddressOf CtrlSet), ctl, pValue, 0) : _Results.Add(r) : Return r
ElseIf (Not ctl.IsDisposed) Then
CtrlSet(ctl, pValue, 0)
End If
Return Nothing
End Function
... |
Partager