/ / Die Benutzersteuerung kann nicht entsorgt werden, wenn dispose aufgerufen wird - c #, .net, dispose

Das Benutzersteuerelement verfügt nicht über den Befehl "Entsorgen" - c #, .net, dispose

Ich verwende die Benutzersteuerung folgendermaßen:

 Login = new MainMenu();
Login.Parent = this;
Login.Dock = DockStyle.Fill;
Login.SelectionMade += new LoginS.SelectionMadeDelegate(menu_SelectionMade);
Login.Show();

Zu einem bestimmten Zeitpunkt löst das Benutzersteuerelement ein Ereignis aus, auf das das Hauptformular folgendermaßen reagiert:

   login.SelectionMade -= this.login_SelectionMade;
login.Dispose();

Beim Einchecken im Debugger ist die Anmeldeinstanz jedoch immer noch nicht null. Warum? Es sollte entsorgt werden, denke ich

Antworten:

3 für die Antwort № 1

Beim Aufruf von dispose für ein Objekt wird es nicht auf null gesetzt. Mit Dispose werden alle Ressourcen gelöscht, die im Login-Steuerelement verwendet werden.

Du solltest benutzen:

Login.Dispose();
Login = null;