Я хочу, чтобы мой код показывал мне 4 формы2, когда я нажимаю кнопку2, но почему? - PullRequest
0 голосов
/ 04 ноября 2019
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

    For i As Integer = 0 To 4
        Me.Hide()
        Form2.Show()
        i = i + 1
    Next
End Sub

'Это мой код с проблемой, которую я использовал для цикла, но форма2 появляется только один раз, поэтому я должен продолжать нажимать кнопку

1 Ответ

0 голосов
/ 05 ноября 2019

Похоже, что вы хотите, чтобы 4 различных экземпляров вашей формы, чтобы появиться. (В конце концов, одна и та же форма не может «появляться 4 раза», потому что как только она уже видна, она уже видна.) Для этого вам потребуется 4 экземпляра вашей формы. Примерно так:

Private form2Instances As New List(Of Form2)

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    For i As Integer = 0 To 4
        Dim form2 As New Form2()
        form2Instances.Add(form2)
        form2.Show()
        i = i + 1
    Next
    Me.Hide()
End Sub

Идея в том, что ваш класс поддерживает коллекцию из Form2 экземпляров, и нажатие на вашу кнопку, по сути, делает несколько вещей:

  • Заполняет эту коллекцию этими экземплярами. (Предполагается, что вы захотите ссылаться на них позже, вне области действия этого обработчика кликов.)
  • Показывает каждый из этих экземпляров.
  • Скрывает текущую форму (которая требуется только дляпроизойдет один раз, вне цикла).
...