Form4
содержит PictureBox
код обновления, который обновляет выбранные изображения один за другим с интервалом в 2 секунды. Это стало возможным благодаря присвоению циклу значения 1000, в то время как переменная увеличивается на 10. Этот цикл должен прерваться при закрытии Form4
.
ListBox1
элементы содержат путь к изображениям, выбранным с помощью openfiledialogue.
ожидание и обновление изображений работает нормально.
Я пытался всеми возможными способами определить, закрыта ли форма или закрыто приложение. Те очень плохо. Но я верю, что есть способ разорвать цикл, когда пользователь возвращается к form1
[Главное меню].
Попробовал Application.openforms.count
способ, и его невозможно добавить в каждый цикл, так как он дает значение 0.
Также возможно не иметь здесь сообщений и отображать только что отображенный текст в richtextbox, но при закрытии приложения Windows Form приложение будет работать до g = 1000
и будет активным в диспетчере задач.
Следовательно, для цикла do while необходим перерыв.
Do Until g = 1000
For Each Item In ListBox1.Items
PictureBox1.Image = Image.FromFile(Item)
PictureBox1.Refresh()
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
' g = g + 10
' MsgBox(Item)
CreateObject("WScript.Shell").Popup(Item, 1, "Title")
wait(2)
Next
' need to break here if the form is closed.
Loop
Private Sub wait(ByVal seconds As Integer)
For i As Integer = 0 To seconds * 100
System.Threading.Thread.Sleep(10)
Application.DoEvents()
Next
End Sub
Разрыв в цикле необходим при условии, что, когда эта конкретная форма закрыта, разрывать цикл.