L'éditeur ci-dessous vous apportera une méthode C# pour fermer une fenêtre enfant sans libérer l'objet fenêtre enfant . L'éditeur pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil.
Pendant le processus de débogage de la caméra à balayage en ligne, vous devez ouvrir une interface de débogage pour configurer la position. Après le débogage, une méthode courante consiste à enregistrer les paramètres de débogage et à les charger au prochain démarrage. Un autre moyen simple consiste à exécuter le programme directement avec ce paramètre. Par conséquent, dans ce dernier cas, la fonction qui doit être implémentée est la suivante : même si la fenêtre de débogage est fermée, son objet window n'est pas libéré. L'objet de sa fenêtre de débogage n'est détruit qu'après la fermeture de sa fenêtre principale.
1 Instancier la fenêtre enfant dans la fenêtre principale
Instancier la fenêtre enfant dans la fenêtre principale au lieu d'instancier la fenêtre enfant dans le bouton objet fenêtre.
Form2 f2 = new Form2();
2 Afficher la fenêtre principale via des boutons
Ce qui doit être implémenté dans le bouton, c'est l'affichage du window
private void Config_Click(object sender, EventArgs e) { f2.Show(); }
3 Méthode pour fermer la fenêtre enfant sans relâcher l'objet fenêtre enfant
Après enquête et vérification, il est possible de modifiez la méthode Dispose dans la fenêtre enfant de. Modifiez comme suit :
protected override void Dispose(bool disposing) { Hide(); //if (disposing && (components != null)) //{ // components.Dispose(); //} //base.Dispose(disposing); }
4 Détruisez l'objet fenêtre enfant lorsque la fenêtre parent est fermée
En raison de la nécessité de détruire l'objet fenêtre parent. fenêtre enfant lorsque la fenêtre parent est fermée Objet, ajoutez donc un appel à la fonction de destruction de la fenêtre enfant f2 dans l'action de fermeture FormClosed de la fenêtre parent.
private void Form1_FormClosed(object sender, FormClosedEventArgs e) { f2.Close(); }
La fonction de fermeture ajoutée dans la classe de sous-fenêtre est la suivante :
public void Close() { this.Dispose(); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!