Der Editor unten stellt Ihnen eine C#-Methode zum Schließen eines untergeordneten Fensters vor, ohne das untergeordnete Fenster--Objekt freizugeben. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf.
Während des Debugging-Prozesses der Online-Scanning-Kamera müssen Sie eine Debugging-Schnittstelle öffnen, um die Position zu konfigurieren. Nach dem Debuggen besteht eine übliche Methode darin, die Debugging-Parameter zu speichern und beim nächsten Start zu laden. Eine andere einfache Möglichkeit besteht darin, das Programm direkt mit diesem Parameter auszuführen. Im letzteren Fall muss daher folgende Funktion implementiert werden: Selbst wenn das Debugging-Fenster geschlossen ist, wird sein Fensterobjekt nicht freigegeben. Das Objekt seines Debug-Fensters wird erst zerstört, wenn sein Hauptfenster geschlossen wird.
1 Instanziieren Sie das untergeordnete Fenster im Hauptfenster.
Instanziieren Sie das untergeordnete Fenster im Hauptfenster, anstatt das untergeordnete Fenster in der Schaltfläche zu instanziieren Fensterobjekt.
Form2 f2 = new Form2();
2 Hauptfenster über Schaltflächen anzeigen
Was in der Schaltfläche implementiert werden muss, ist die Anzeige des Fenster
private void Config_Click(object sender, EventArgs e) { f2.Show(); }
3 Methode zum Schließen des untergeordneten Fensters, ohne das untergeordnete Fensterobjekt freizugeben
Nach Rückfrage und Überprüfung ist dies möglich Ändern Sie die Dispose-Methode im untergeordneten Fenster von. Ändern Sie es wie folgt:
protected override void Dispose(bool disposing) { Hide(); //if (disposing && (components != null)) //{ // components.Dispose(); //} //base.Dispose(disposing); }
4 Zerstören Sie das untergeordnete Fensterobjekt, wenn das übergeordnete Fenster geschlossen wird
Aufgrund der Notwendigkeit, das zu zerstören Untergeordnetes Fenster, wenn das übergeordnete Fenster geschlossen ist. Fügen Sie daher einen Aufruf der Zerstörungsfunktion des untergeordneten Fensters f2 in der Schließaktion FormClosed des übergeordneten Fensters hinzu.
private void Form1_FormClosed(object sender, FormClosedEventArgs e) { f2.Close(); }
Die in der Unterfensterklasse hinzugefügte Schließfunktion lautet wie folgt:
public void Close() { this.Dispose(); }
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die C#-Methode zum Schließen eines untergeordneten Fensters, ohne das untergeordnete Fensterobjekt freizugeben.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!