Click here to Skip to main content
15,885,216 members

Comments by Member 8646699 (Top 1 by date)

Member 8646699 11-Dec-12 9:38am View    
OK - I've changed the code as follows - module is now...

Module Module1

Public endThread As Boolean = False
Public frmPleaseWait As New Form
Public PleaseWaitPicture As New PictureBox

Public Sub CodeInThread()

frmPleaseWait.ShowDialog()
frmPleaseWait.BringToFront()

While Not endThread
'keep thread running forever.
End While

frmPleaseWait.Hide()

End Sub

End Module


and the form is as follows...

Public Class Form1


Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

PleaseWaitPicture.Height = 130
PleaseWaitPicture.Width = 130
PleaseWaitPicture.Image = My.Resources.loading51

frmPleaseWait.FormBorderStyle = FormBorderStyle.None
frmPleaseWait.Height = 130
frmPleaseWait.Width = 130
frmPleaseWait.BackColor = Color.Aquamarine
frmPleaseWait.StartPosition = FormStartPosition.CenterScreen
frmPleaseWait.Controls.Add(PleaseWaitPicture)

endThread = False

Dim t As New Threading.Thread(AddressOf CodeInThread)
t.Start()

End Sub

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click

endThread = True

End Sub
End Class


...but the thread still won't stop.

In case it helps, this was to display a 'please wait' animation, I was trying to use a thread as the process can take different lengths of time, so I needed a way to start it, carry on processes in the 'main' thread, and then stop the please wait.