باید یک تابع تعریف کنی که در آنجا عملیات Desable/Enableروی باتن رو انجام بدی. بعد یک Delegate داشته باشی که به این تابع اشاره کنه. در ترد بجای تغییر مستقیم باتن این تابع رو فراخوانی کن
Delegate Sub SetEnableCallBack(ByVal bEnable As Boolean)
Private Sub SetEnable(ByVal bEnable As Boolean)
If Me.Button3.InvokeRequired Then
Dim d As New SetEnableCallBack(AddressOf SetEnable)
Me.Invoke(d, New Object() {bEnable})
Else
Me.Button3.Enabled = bEnable
End If
End Sub
حرف دوستمون هم درسته. رویداد RunWorkerCompleted هنگام اتمام کار ترد کنترل BackGroundWorkder رخ میدهد(از این می توانی برای Enableکردن باتن استفاده نمائی).