Heim >Backend-Entwicklung >C++ >Ist Anwendung.DoEvents () sicher und sollten Sie Alternativen in C#verwenden?
im Bereich der C#-Programmierung ist es immer noch ein kontroverses Thema, zu ermöglichen, GUI zu ermöglichen, Nachrichten zu verarbeiten. Diese obskure und gefährliche Funktion entstand im von VB6, was viele Entwickler an ihrer Wirksamkeit bezweifelt.
application.doEvents () ist sicher? Application.DoEvents()
DoEvents
Obwohl
application.doEvents () Was genau hat es getan?
den Teil der GUI nicht ausführen. Stattdessen steuert es das Steuerungsrecht auf die Nachrichtenschleife und ermöglicht es, alle aufgehängten Informationen zu verarbeiten. Im Wesentlichen wird es die Ausführung von Code aussetzen und die GUI ermöglichen, die Fortschritte zu erzielen, genau wie ein müder Wanderreisender, um einen rauschenden Flusspass zu machen. Application.DoEvents()
application.doEvents () Danger
Das Hauptproblem von ist die Eigenschaften, die nicht unterscheiden. Nach Konzession zu allen Nachrichten öffnete es die Tür für eine Reihe potenzieller Katastrophen. Wenn beispielsweise der Zyklus fleißig behandelt wird, kann der Benutzer das Hauptfenster schließen. Obwohl die Benutzeroberfläche möglicherweise vorübergehend verschwindet, wird Ihr Code weiter ausgeführt und wissen nichts über die bevorstehende Katastrophe.
Wenn der Benutzer eine Reihe von Ereignissen auslöst, wird der gleiche Application.DoEvents()
-Zyklus durch den zweiten Anruf verursacht und eine weitere Gefahr wird auftreten. Dies führt zu einem gefährlichen, verschachtelten Cycle -Level -Couplet, und jeder Zyklus zerstört unwissentlich die Arbeit des vorherigen Zyklus, was zur chaotischen Situation von Datenschäden und abnormalen Unfällen führt.
application.doEvents () Alternative? natürlich! Empfohlene Methoden zur Verwirklichung der nicht leistungsfreien Benutzeroberfläche sind die Verwendung von Threads oder moderneren Schlüsselwörtern
und. Diese Technologien bieten eine strukturiertere und sicherere Methode, um die UI -Verarbeitung mit dem Rest des Codes zu zersetzen, wodurch die im Schatten lauernden Fallen vermieden werden. Application.DoEvents()
Das obige ist der detaillierte Inhalt vonIst Anwendung.DoEvents () sicher und sollten Sie Alternativen in C#verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!