I don't get it. If I want to change the text on a button from a thread other than the UI thread in Visual Basic .NET, I need to use a delegate, and do something along the lines of
Private Delegate Sub SetTextDelegate(ByVal TheText As String)
Private Sub delSetText(ByVal TheText As String)
Button1.Text = TheText
End Sub
Private Sub ChangeText(ByVal TheText As String)
If Button1.InvokeRequired Then
Me.BeginInvoke(New SetTextDelegate(AddressOf delSetText), TheText)
Else
delSetText(TheText)
End If
End Sub
Of course I can make more generic functions that aren't so hard-wired. But still, it seems like a lot of typing. Am I doing this in a roundabout way? How is this not included in the control properties---why would anyone leave this up to the programmer if it is required?