Aracılığıyla paylaş


Visual Basic Uygulama Modelini Genişletme

Overridable sınıfının WindowsFormsApplicationBase üyelerini üzerine yazarak uygulama modeline 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, Sub Main prosedürü Run yöntemi çağırdığında başlar.

Uygulama Modeli çağrı sırasını gösteren diyagram.

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

StartupNextInstance olayını başlatan OnStartupNextInstance yöntemini gösteren diyagram.

UnhandledException olayını başlatan OnUnhandledException yöntemini gösteren diyagram.

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 ana kullanıcıyı ayarlar (uygulama Windows kimlik doğrulaması kullanıyorsa) ve eğer komut satırı argümanı olarak ne ShowSplashScreen ne de /nosplash kullanılıyorsa -nosplash yöntemini çağırır.

    Bu işlev False döndürürse uygulama 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 splash ekranı olup olmadığını belirler ve varsa, splash ekranını ayrı bir iş parçacığında görüntüler.

      ShowSplashScreen yöntemi, MinimumSplashScreenDisplayTime özelliği tarafından belirtilen milisaniye sayısı kadar en az açılış ekranını görüntüleyen kodu içerir. Bu işlevi kullanmak için Proje Tasarımcısı'nı (özelliği iki saniye olarak ayarlayan My.Application.MinimumSplashScreenDisplayTime) kullanarak uygulamanıza giriş ekranını eklemeniz veya My.Application.MinimumSplashScreenDisplayTime veya OnInitialize yöntemini geçersiz kılan bir yöntemde OnCreateSplashScreen özelliğini ayarlamanız 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 Proje Tasarımcısı'nda uygulamanız için bir giriş ekranı seçerseniz, tasarımcı OnCreateSplashScreen yöntemini SplashScreen adlı özelliği giriş ekranı formunun yeni bir örneğine ayarlayan bir yöntemle değiştirir.

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

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

  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 OnCreateMainForm (giriş ekranını kapatmak için) yöntemlerini çağırır HideSplashScreen :

    1. OnCreateMainForm. Tasarımcının ana formu başlatan kodu oluşturması için bir yöntem sunar.

      Varsayılan olarak, bu yöntem hiçbir şey yapmaz. Ancak, Visual Basic Proje Tasarımcısı'nda 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ı tetiklemek 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, bir hata ayıklayıcı eklenmediği sürece ve uygulama UnhandledException olayını işliyorsa, bu yöntem UnhandledException olayını tetikler.

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

Oluşturucu, uygulamanın formları için hangi metin işleme altyapısının kullanılacağını belirlemek amacıyla OnStartupNextInstance(StartupNextInstanceEventArgs) özelliğini çağırır. 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. UseCompatibleTextRendering özelliğini geçersiz kılarak, 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österen True döndürebilirsiniz.

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 Proje Tasarımcısı , ö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.

Mülkiyet Belirler Proje Tasarımcısı'nın 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. My.Settings'i Kapatırken Kaydet onay kutusu
ShutdownStyle Uygulamanın sonlandırılma nedeni, örneğin başlangıç formunun kapanması veya son formun kapanması. Kapatma modu listesi

Ayrıca bakınız