Erweitern des Visual Basic-Anwendungsmodells
Sie können durch Überschreiben der Overridable-Member der WindowsFormsApplicationBase-Klasse dem Anwendungsmodell Funktionen hinzufügen.Mit dieser Technik können Sie das Verhalten des Anwendungsmodells anpassen und Aufrufe eigener Methoden beim Starten und Herunterfahren der Anwendung hinzufügen.
Visuelle Übersicht über das Anwendungsmodell
In diesem Abschnitt wird die Sequenz der Funktionsaufrufe im Visual Basic-Anwendungsmodell visuell veranschaulicht.Im nächsten Abschnitt wird ausführlich der Zweck der einzelnen Funktionen beschrieben.
In der folgenden Grafik wird die Aufrufsequenz des Anwendungsmodells in einer normalen Visual Basic-Windows Forms-Anwendung gezeigt.Die Sequenz beginnt, wenn die Sub Main-Prozedur die Run-Methode aufruft.
Das Visual Basic-Anwendungsmodell enthält außerdem das StartupNextInstance-Ereignis und das UnhandledException-Ereignis.In der folgenden Grafik wird der Mechanismus zum Auslösen dieser Ereignisse gezeigt.
Überschreiben der Basismethoden
Die Run-Methode definiert die Reihenfolge, in der die Application-Methoden ausgeführt werden.Standardmäßig ruft die Sub Main-Prozedur für eine Windows Forms-Anwendung die Run-Methode auf.
Wenn es sich bei der Anwendung um eine normale Anwendung (Mehrfachinstanzanwendung) oder die erste Instanz einer Einzelinstanzanwendung handelt, führt die Run-Methode die Overridable-Methoden in der folgenden Reihenfolge aus:
OnInitialize.Standardmäßig legt diese Methode die visuellen Stile, die Textanzeigestile und den aktuellen Prinzipal für den Hauptthread der Anwendung fest (falls die Anwendung Windows-Authentifizierung verwendet) und ruft ShowSplashScreen auf, wenn weder /nosplash noch -nosplash als Befehlszeilenargument verwendet wurde.
Wenn diese Funktion False zurückgibt, wird das Starten der Anwendung abgebrochen.Dies kann in Situationen nützlich sein, in denen die Anwendung nicht ausgeführt werden soll.
Die OnInitialize-Methode ruft die folgenden Methoden auf:
ShowSplashScreen.Ermittelt, ob ein Begrüßungsbildschirm für die Anwendung definiert ist, und zeigt diesen ggf. mit einem getrennten Thread an.
Die ShowSplashScreen-Methode enthält den Code, mit dem der Begrüßungsbildschirm für mindestens die Anzahl von Millisekunden angezeigt wird, die von der MinimumSplashScreenDisplayTime-Eigenschaft angegeben werden.Um diese Funktionalität zu nutzen, müssen Sie der Anwendung mit dem Projekt-Designer (der die My.Application.MinimumSplashScreenDisplayTime auf zwei Sekunden festlegt) den Begrüßungsbildschirm hinzufügen. Sie können stattdessen auch die My.Application.MinimumSplashScreenDisplayTime-Eigenschaft in einer Methode festlegen, die die OnInitialize-Methode oder die OnCreateSplashScreen-Methode überschreibt.Weitere Informationen finden Sie unter MinimumSplashScreenDisplayTime.
OnCreateSplashScreen.Ermöglicht es einem Designer, Code auszugeben, mit dem der Begrüßungsbildschirm initialisiert wird.
Standardmäßig hat diese Methode keine Auswirkungen.Wenn Sie im Visual Basic-Projekt-Designer einen Begrüßungsbildschirm für die Anwendung auswählen, überschreibt der Designer die OnCreateSplashScreen-Methode mit einer Methode, die die SplashScreen-Eigenschaft auf eine neue Instanz des Formulars mit dem Begrüßungsbildschirm festlegt.
OnStartup.Stellt einen Erweiterungspunkt für das Auslösen des Startup-Ereignisses bereit.Wenn diese Funktion False zurückgibt, wird das Starten der Anwendung abgebrochen.
Standardmäßig löst diese Methode das Startup-Ereignis aus.Wenn der Ereignishandler die Cancel-Eigenschaft des Ereignisarguments auf True festlegt, gibt die Methode False zurück, um den Anwendungsstart abzubrechen.
OnRun.Stellt einen Ausgangspunkt für den Zeitpunkt bereit, zu dem die Initialisierung abgeschlossen und die Hauptanwendung bereit für die Ausführung ist.
Standardmäßig ruft diese Methode die OnCreateMainForm-Methode (zum Erstellen des Hauptformulars für die Anwendung) und die HideSplashScreen-Methode (zum Schließen des Begrüßungsbildschirms) auf, bevor sie in die Windows Forms-Meldungsschleife eintritt:
OnCreateMainForm.Ermöglicht es einem Designer, Code auszugeben, mit dem das Hauptformular initialisiert wird.
Standardmäßig hat diese Methode keine Auswirkungen.Wenn Sie jedoch im Visual Basic-Projekt-Designer ein Hauptformular für die Anwendung auswählen, überschreibt der Designer die OnCreateMainForm-Methode mit einer Methode, die die MainForm-Eigenschaft auf eine neue Instanz des Hauptformulars festlegt.
HideSplashScreen.Wenn für die Anwendung ein Begrüßungsbildschirm definiert und dieser geöffnet ist, schließt diese Methode den Begrüßungsbildschirm.
Standardmäßig schließt diese Methode den Begrüßungsbildschirm.
OnStartupNextInstance.Stellt eine Möglichkeit bereit, das Verhalten einer Einzelinstanzanwendung für den Fall anzupassen, dass eine weitere Instanz der Anwendung gestartet wird.
Standardmäßig löst diese Methode das StartupNextInstance-Ereignis aus.
OnShutdown.Stellt einen Erweiterungspunkt für das Auslösen des Shutdown-Ereignisses bereit.Diese Methode wird nicht ausgeführt, wenn eine nicht behandelte Ausnahme in der Hauptanwendung auftritt.
Standardmäßig löst diese Methode das Shutdown-Ereignis aus.
OnUnhandledException.Wird ausgeführt, wenn eine nicht behandelte Ausnahme in einer der oben aufgeführten Methoden auftritt.
Standardmäßig löst diese Methode das UnhandledException-Ereignis aus, sofern kein Debugger angefügt ist und das UnhandledException-Ereignis von der Anwendung behandelt wird.
Wenn es sich um eine bereits ausgeführte Einzelinstanzanwendung handelt, ruft die nachfolgende Instanz der Anwendung die OnStartupNextInstance-Methode für die ursprüngliche Anwendungsinstanz auf und wird anschließend beendet.
Der WindowsFormsApplicationBase-Konstruktor ruft die UseCompatibleTextRendering-Eigenschaft auf, um zu bestimmen, welches Textdarstellungsmodul für die Formulare der Anwendung verwendet wird.Die UseCompatibleTextRendering-Eigenschaft gibt standardmäßig False zurück, wodurch angezeigt wird, dass das Textdarstellungsmodul GDI verwendet wird, das Standardmodul in Visual Basic 2005.Sie können die UseCompatibleTextRendering-Eigenschaft überschreiben, um True zurückzugeben. Dadurch wird angegeben, dass das Textdarstellungsmodul GDI+ verwendet wird, das Standardmodul in Visual Basic .NET 2002 und in Visual Basic .NET 2003.
Konfigurieren der Anwendung
Im Rahmen des Visual Basic-Anwendungsmodells bietet die WindowsFormsApplicationBase-Klasse geschützte Eigenschaften für die Konfiguration der Anwendung.Diese Eigenschaften sollten im Konstruktor der implementierenden Klasse festgelegt werden.
In einem Windows Forms-Projekt erstellt der Projekt-Designer standardmäßig Code, mit dem die Eigenschaften auf Grundlage der Einstellungen für den Designer festgelegt werden.Die Eigenschaften werden nur beim Starten der Anwendung verwendet. Änderungen an den Eigenschaften zur Laufzeit haben keine Auswirkungen.
Eigenschaft |
Auswirkung |
Einstellung im Gültigkeitsbereich des Projekt-Designers |
Bestimmt, ob die Anwendung als Einzelinstanz- oder Mehrfachinstanzanwendung ausgeführt wird. |
Einzelinstanzanwendung erstellen Kontrollkästchen |
|
Wenn die Anwendung visuelle Stile verwendet, die Windows XP übereinstimmen. |
Visuelle XP-Stile aktivieren Kontrollkästchen |
|
Bestimmt, ob Änderungen an den Benutzereinstellungen beim Beenden der Anwendung automatisch gespeichert werden. |
My.Settings beim Herunterfahren speichern Kontrollkästchen |
|
Was die Anwendung führt zu beenden, wie, wenn das Startformular enthält, oder wenn das letzte Formular enthält. |
Modus für das Herunterfahren Liste |
Siehe auch
Referenz
Seite "Anwendung", Projekt-Designer (Visual Basic)