Problem med att öppna fönster igen i C#

Permalänk
Medlem

Problem med att öppna fönster igen i C#

Jag har skapat en form i visual studio i C# som öppnas när man trycker på en knapp i första formen. Problemet är att om jag stänger den och sedan försöker trycka på knappen igen så får jag meddelandet "Object disposed exception was unhandled, cannot open a disposed object". Hur ska jag lösa detta?

Permalänk
Avstängd

Du måste skapa en ny instans av fönstret

Visa signatur
Permalänk
Medlem

Vet inte om du kanske har löst detta med CyberVillains svar. Men när du stänger en form så körs en Dispose, dvs formen finns inte längre.
Ett tips om du inte vill att det ska hända, så lägg bara till en function till formulärets Closing event. (Se nedan)

private void Form1_FormClosing(object sender, FormClosingEventArgs e) { e.Cancel = true; this.Hide(); }

e.cancel avbryter eventet. Hide, ja..gömmer formen istället för att slänga den

Hoppas detta hjälper.

Permalänk
Medlem

Om man öppnar ett formulär modulärt så måste man köra en manuell Dispose (eller genom using) på objektet.
Öppnar man formuläret icke-modulärt så görs det automatiskt en Dispose på objektet.

Mer information:
http://msdn.microsoft.com/en-us/library/System.Windows.Forms....
http://msdn.microsoft.com/en-us/library/System.Windows.Forms....

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?