VB.net Invoke a property change in a control

Brad picture Brad · Oct 6, 2010 · Viewed 7.9k times · Source

Lots of examples of how to invoke methods, but how does one change a simple property?

For demonstration-sake, here's a very simple set of code that should help. Let's say I need to set the visible property from a child form, and thus, it needs to be invoked:

Friend Sub activateItem(ByVal myItem As PictureBox)

    If myItem.InvokeRequired = True Then
        ????
    Else
        myItem.Visible = True
    End If

End Sub

Thanks

Answer

SLaks picture SLaks · Oct 6, 2010

If you're using VB.Net 2010, you can use a lambda expression:

If myItem.InvokeRequired Then
    myItem.Invoke(Sub() myItem.Visible = True)

In your particular case, you can also call myItem.Invoke(myItem.Show).