Visual Basic Uygulama Modelini Genişletme

Sınıfın üyelerini geçersiz kılarak uygulama modeline OverridableWindowsFormsApplicationBase işlevsellik ekleyebilirsiniz. Bu teknik, uygulama modelinin davranışını özelleştirmenize ve uygulama başlatılırken ve kapatılırken kendi yöntemlerinize çağrılar eklemenize olanak tanır.

Uygulama Modeline Görsel Genel Bakış

Bu bölüm, Visual Basic Uygulama Modeli'nde işlev çağrılarının sırasını görsel olarak sunar. Sonraki bölümde her işlevin amacı ayrıntılı olarak açıklanmaktadır.

Aşağıdaki grafik, normal bir Visual Basic Windows Forms uygulamasında uygulama modeli çağrı sırasını gösterir. Sıra, yordam yöntemini çağırdığında Sub MainRun başlar.

Diagram showing the Application Model call sequence.

Visual Basic Uygulama Modeli ayrıca ve UnhandledException olaylarını StartupNextInstance da sağlar. Aşağıdaki grafiklerde bu olayları oluşturma mekanizması gösterilmektedir.

Diagram showing the OnStartupNextInstance method raising the StartupNextInstance event.

Diagram showing the OnUnhandledException method raising the UnhandledException event.

Temel Yöntemleri Geçersiz Kılma

Run yöntemi, yöntemlerin çalıştırıldığı sırayı Application tanımlar. Varsayılan olarak, bir Windows Forms uygulamasının Sub Main yordamı yöntemini çağırır Run .

Uygulama normal bir uygulamaysa (birden çok örnekli uygulama) veya tek örnekli bir uygulamanın ilk örneğiyse, Run yöntem yöntemleri aşağıdaki sırayla yürütür Overridable :

  1. OnInitialize. Varsayılan olarak, bu yöntem ana uygulama iş parçacığı için görsel stilleri, metin görüntüleme stillerini ve geçerli sorumluyu ayarlar (uygulama Windows kimlik doğrulaması kullanıyorsa) ve komut satırı bağımsız değişkeni olarak kullanılmadıysa /nosplash veya -nosplash kullanılmadıysa çağırırShowSplashScreen.

    Bu işlev döndürürse Falseuygulama başlangıç dizisi iptal edilir. Bu, uygulamanın çalışmaması gereken durumlar varsa yararlı olabilir.

    OnInitialize yöntemi aşağıdaki yöntemleri çağırır:

    1. ShowSplashScreen. Uygulamanın tanımlanmış bir giriş ekranı olup olmadığını ve tanımlanıp tanımlanmadığını belirler ve giriş ekranını ayrı bir iş parçacığında görüntüler.

      yöntemi, ShowSplashScreen özelliği tarafından MinimumSplashScreenDisplayTime belirtilen en az milisaniye sayısı için giriş ekranını görüntüleyen kodu içerir. Bu işlevi kullanmak için Project Tasarım Aracı kullanarak uygulamanıza giriş ekranını eklemeniz (özelliği iki saniye olarak ayarlarMy.Application.MinimumSplashScreenDisplayTime) veya veya OnCreateSplashScreen yöntemini geçersiz kılan OnInitialize bir yöntemde özelliğini ayarlamanız My.Application.MinimumSplashScreenDisplayTime gerekir. Daha fazla bilgi için bkz. MinimumSplashScreenDisplayTime.

    2. OnCreateSplashScreen. Tasarımcının giriş ekranını başlatan kodu yaymasına izin verir.

      Varsayılan olarak, bu yöntem hiçbir şey yapmaz. Visual Basic Project Tasarım Aracı uygulamanız için bir giriş ekranı seçerseniz tasarımcı, özelliğini giriş ekranı formunun OnCreateSplashScreen yeni bir örneğine ayarlayan SplashScreen bir yöntemle yöntemini geçersiz kılar.

  2. OnStartup. Olayı oluşturmak Startup için bir genişletilebilirlik noktası sağlar. Bu işlev döndürürse Falseuygulama başlangıç dizisi durdurulur.

    Varsayılan olarak, bu yöntem olayı tetikler Startup . Olay işleyicisi olay bağımsız değişkeninin özelliğini olarak ayarlarsaCancel, yöntem uygulama başlatmayı iptal etmek için döndürürFalse.True

  3. OnRun. Başlatma tamamlandıktan sonra ana uygulamanın çalışmaya başlamaya hazır olduğu başlangıç noktasını sağlar.

    Varsayılan olarak, Windows Forms ileti döngüsüne girmeden önce bu yöntem (uygulamanın ana formunu oluşturmak için) ve HideSplashScreen (giriş ekranını kapatmak için) yöntemlerini çağırır OnCreateMainForm :

    1. OnCreateMainForm. Tasarımcının ana formu başlatan kodu yaymak için bir yol sağlar.

      Varsayılan olarak, bu yöntem hiçbir şey yapmaz. Ancak, Visual Basic Project Tasarım Aracı uygulamanız için bir ana form seçtiğinizde tasarımcı, özelliğini ana formun OnCreateMainForm yeni bir örneğine ayarlayan MainForm bir yöntemle yöntemini geçersiz kılar.

    2. HideSplashScreen. Uygulama tanımlı bir giriş ekranı varsa ve açıksa, bu yöntem giriş ekranını kapatır.

      Varsayılan olarak, bu yöntem giriş ekranını kapatır.

  4. OnStartupNextInstance. Tek örnekli bir uygulamanın başka bir örneği başlatıldığında nasıl davranacağını özelleştirmek için bir yol sağlar.

    Varsayılan olarak, bu yöntem olayı tetikler StartupNextInstance .

  5. OnShutdown. Olayı oluşturmak Shutdown için bir genişletilebilirlik noktası sağlar. Ana uygulamada işlenmeyen bir özel durum oluşursa bu yöntem çalışmaz.

    Varsayılan olarak, bu yöntem olayı tetikler Shutdown .

  6. OnUnhandledException. Yukarıda listelenen yöntemlerden herhangi birinde işlenmeyen bir özel durum oluşursa yürütülür.

    Varsayılan olarak, hata ayıklayıcı eklenmediği ve uygulama olayı işlediği sürece bu yöntem olayı tetikler UnhandledExceptionUnhandledException .

Uygulama tek örnekli bir uygulamaysa ve uygulama zaten çalışıyorsa, uygulamanın sonraki örneği uygulamanın özgün örneğinde yöntemini çağırır OnStartupNextInstance ve sonra çıkar.

Oluşturucu, OnStartupNextInstance(StartupNextInstanceEventArgs) uygulamanın formları için hangi metin işleme altyapısının kullanılacağını belirlemek için özelliğini çağırır UseCompatibleTextRendering . Varsayılan olarak, UseCompatibleTextRendering özelliği, Visual Basic 2005 ve sonraki sürümlerde varsayılan olan GDI metin işleme altyapısının kullanılacağını belirten değerini döndürür False. özelliğini döndürecek şekilde Truegeçersiz kılabilirsinizUseCompatibleTextRendering. Bu, Visual Basic .NET 2002 ve Visual Basic .NET 2003'te varsayılan olan GDI+ metin işleme altyapısının kullanılacağını gösterir.

Uygulamayı Yapılandırma

Visual Basic Uygulama modelinin bir parçası olarak sınıfı, WindowsFormsApplicationBase uygulamayı yapılandıran korumalı özellikler sağlar. Bu özellikler uygulayan sınıfın oluşturucusunda ayarlanmalıdır.

Varsayılan bir Windows Forms projesinde Project Tasarım Aracı, özellikleri tasarımcı ayarlarıyla ayarlamak için kod oluşturur. Özellikler yalnızca uygulama başlatıldığında kullanılır; uygulama başlatıldıktan sonra bunları ayarlamanın hiçbir etkisi yoktur.

Özellik Belirler Proje Tasarım Aracı Uygulama bölmesindeki ayar
IsSingleInstance Uygulamanın tek örnekli veya çok örnekli bir uygulama olarak çalışıp çalışmadığı. Tek örnekli uygulama yap onay kutusu
EnableVisualStyles Uygulama Windows XP ile eşleşen görsel stilleri kullanacaksa. XP görsel stillerini etkinleştir onay kutusu
SaveMySettingsOnExit Uygulama çıktığı zaman uygulamanın kullanıcı ayarlarını otomatik olarak kaydederse. Kaydet' i seçin. Kapatmada Ayarlar onay kutusu
ShutdownStyle Uygulamanın sonlandırılma nedeni, örneğin başlangıç formunun kapanması veya son formun kapanması. Kapatma modu listesi

Ayrıca bkz.