Tja! > ...Men problemet är sedan när man trycker på X-rutan (avsluta). För då stängs bara det synliga fönstret och "Me" finns kvar nånstans. Fråga mig inte var. Du får i form2s unload-event lägga in att även form1 ska stängas om du bara vill göra en .Hide på det när du byter visningsläge. Annars håller jag med föregående talare, använd .Close. Testade erat förslag nyss men blir fel. Ok finns kanske inte men är gömd ("Hide") =) Oki. Nu har jag förstått vad problemet är ;)Öppna / Stänga forms
För ett tag sen fick jag reda på att man öppnar en form i vb.net...
Dim form2 As New Form2
form2.Show()
Me.Hide()
...Men problemet är sedan när man trycker på X-rutan (avsluta). För då stängs bara det synliga fönstret och "Me" finns kvar nånstans. Fråga mig inte var.Sv: Öppna / Stänga forms
Var finns det kvar någonstans? Eftersom att jag inte har en aning om vad som strular så gissar jag: byt ut .Hide() mot .Close()Sv:Öppna / Stänga forms
... och det är inte Me. som finns kvar någonstans alls - me är bara en referens till den aktiva klassen, dvs när du använder kryssrutan på form2 - är det form2 som är Me, inte form1. ;)
/EmmaSv: Öppna / Stänga forms
När jag avvänder "Me.Close" så stängs protjektet ner.
Använde...
Chatt.Show()
Me.Close()
Eller hur ska jag göra för att öpna Chatt.vb ???
PS!
JAg ser "Chatt" blinka förbi när jag använder CloseSv: Öppna / Stänga forms
Men när jag gått från form1 till 2 och stänger ner den rtan (Form) så måste jag klicka på "Stop debbuging" eftersom Form ett inte Finns/gömd.Sv:Öppna / Stänga forms
1) .NET är totalt oop, dvs. allting är klasser å objekt.
2) Om du gör en windowsforms applikation enligt den mall som skapas som standard så sker följande:
a) Skapa en instans av ditt huvudfönster (ditt fönster är en klass och instansen är ett objekt, inget konstigt med det)
b) Stoppa in den instansen i den statiska metoden Application.Run() (har för mig att metoden heter så)
c) Application.Run() startar en messageloop som körs ända tills det formulär som stoppades in i Run stängs. .Hide() stänger inte utan gömmer enbart. .Close stänger däremot. Det innebär att om du anropar .Hide så fortsätter programmet att köras, men anropar du .Close så stängs programmet av på en gång.
Du har några olika alternativ:
* Använd .Hide, se till att ditt nya fönster får en referens till ditt första. När du stänger ditt nya fönster så anropas gamla_fönster.Close().
* Ändra i startkoden så att Application.Run() anropas utan att skicka med din fönsterinstans. Istället visar du fönstret manuellt precis innan det anropet. Då stängs inte programmet av så fort du stänger ditt fönster. Använd sedan Close. När ditt andra fönster stängs så anropar du Application.Exit()