VB.NET:
Private Sub Button6_CreateNonUiThread_Click(sender As Object, e As EventArgs) Handles Button6_CreateNonUiThread.Click
Using ofd As New OpenFileDialog
ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures)
ofd.Filter = ImageFileFilterPairsForOpen()
ofd.FilterIndex = 1
ofd.Multiselect = False
If ofd.ShowDialog() = DialogResult.OK Then
Me.TextBox6_DisplayPath.Text = ofd.FileName
End If
End Using
Me.PictureBox6_1.BackgroundImageLayout = ImageLayout.Stretch
Dim updateThread As New System.Threading.Thread(Sub() Me.NonUIThreadSub6(Me.TextBox6_DisplayPath.Text))
updateThread.Start()
End Sub
Public Delegate Sub ThreadSafeCallBackDelegateType6(text As String)
Public Sub NonUIThreadSub6(imgPath As String)
Me.PictureBox6_1.Invoke(New ThreadSafeCallBackDelegateType6(AddressOf Me.SetBackgroundImageFromPath6), New Object() {imgPath})
End Sub
Private Sub SetBackgroundImageFromPath6(txt As String)
Me.PictureBox6_1.BackgroundImage = Image.FromFile(txt)
End Sub
Is the above thread-safe (and otherwise O.K.)?
Last edited: