Da bi zatvorio formu, moraš da pozoveš Close metodu na instanci koju želiš da zatvoriš. Pretpostavljam da form1.Close kod tebe ništa ne radi zato što to nije onaj form koji si prethodno prikazao, samo je ime varijable isto. Da bi to radilo kako treba, moraš nekako da sačivaš originalnu referencu na form koji je prikazan, ovako na primer:
Code:
Public Class FirstForm
Inherits System.Windows.Forms.Form
Private mySecondForm As SecondForm
...automatski generisani kod ide ovde...
Private Sub OpenSecondForm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenSecondForm.Click
Me.mySecondForm = New SecondForm
Me.mySecondForm.Show()
End Sub
Private Sub CloseSecondForm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloseSecondForm.Click
Me.mySecondForm.Close()
End Sub
End Class
Dobro bi bilo da ne koristiš imena koja Visual Studio automatski generiše (Form1, Form2) nego im promeni imena tako da imaju smisla. Biće ti lakše kasnije da raspoznaješ šta je koji form.