Метод Show формы и события с ним связанные - Visual Basic .NET
Формулировка задачи:
Всем здравствуйте.
Есть две формы Main и Second. Main всегда в памяти и выгружается при закрытии всего приложения. Second вызывается из Main методом Show и уже из памяти не выгружается до закрытия всего приложения. Закрываем Second методом Hide (из памяти она не выгружается, а только скрывается) показывая Main форму. Какие события следует использовать, если я хочу, например, чтобы некий таймер (принадлежащий Second) работал только когда Second отображена на экране
форма Main:
форма Second:
При использовании Activated/Deactivate если переключаюсь на другие приложения возникает ситуация: ни одной из форм на экране нет, ни одного окошка на панели задач нет, а приложение работает (закрываю только по SHIFT+F5)! Событие Shown тоже не подходит (вызывается только при первом вызове метода Show). Какие же события формы жёстко связано с методами Show и Hide?
Листинг программы
- Public Class Main
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Me.Hide()
- Second.Show()
- End Sub
- End Class
Листинг программы
- Public Class Second
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Me.Hide()
- Main.Show()
- End Sub
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- 'проверка того тикает ли таймер формы Second или не тикает
- Me.Label1.Text = Date.Now.Second
- Main.Label1.Text = Date.Now.Second
- End Sub
- Private Sub Second_Activated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Activated
- Me.Timer1.Start()
- End Sub
- Private Sub Second_Deactivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Deactivate
- Me.Timer1.Stop()
- End Sub
- End Class
Решение задачи: «Метод Show формы и события с ним связанные»
textual
Листинг программы
- Dim lst As New List(Of String)
- Private Sub Form1_AutoSizeChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.AutoSizeChanged
- lst.Add("AutoSizeChanged")
- End Sub
- Private Sub Form1_Activated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Activated
- lst.Add("Activated")
- End Sub
- ' ' '
- ' И так далее, все события
- ' ' '
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- ListBox1.Items.AddRange(lst.ToArray)
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д