Visual Basic Uygulama Modeline Genel Bakış
Visual Basic, Windows Forms uygulamalarının davranışını denetlemek için iyi tanımlanmış bir model sağlar: Visual Basic Uygulama modeli. Bu model, uygulamanın başlatma ve kapatma işlemlerini işlemeye yönelik olayların yanı sıra işlenmeyen özel durumları yakalamaya yönelik olayları içerir. Ayrıca tek örnekli uygulamalar geliştirmeye yönelik destek sağlar. Uygulama modeli genişletilebilir olduğundan, daha fazla denetime ihtiyacı olan geliştiriciler geçersiz kılınabilir yöntemlerini özelleştirebilir.
Uygulama Modeli için kullanımlar
Tipik bir uygulamanın başlatıldığında ve kapandığında görevleri gerçekleştirmesi gerekir. Örneğin, uygulama başlatıldığında bir giriş ekranı görüntüleyebilir, veritabanı bağlantıları yapabilir, kaydedilmiş bir durum yükleyebilir vb. Uygulama kapatıldığında veritabanı bağlantılarını kapatabilir, geçerli durumu kaydedebilir ve bu şekilde devam edebilir. Ayrıca uygulama, işlenmeyen özel durum gibi beklenmedik bir şekilde kapandığında belirli bir kodu yürütebilir.
Visual Basic Uygulama modeli, tek örnekli bir uygulama oluşturmayı kolaylaştırır. Tek örnekli bir uygulama, aynı anda uygulamanın yalnızca bir örneğinin çalıştırılabilmesi için normal bir uygulamadan farklıdır. Tek örnekli bir uygulamanın başka bir örneğini başlatma girişimi, özgün örneğin olay yoluyla StartupNextInstance
başka bir başlatma girişiminde bulunulduğunu bildirir. Bildirim, sonraki örneğin komut satırı bağımsız değişkenlerini içerir. Daha sonra herhangi bir başlatma gerçekleşmeden önce uygulamanın sonraki örneği kapatılır.
Tek örnekli bir uygulama başlatılır ve uygulamanın ilk örneği mi yoksa sonraki bir örneği mi olduğunu denetler:
İlk örnekse, her zamanki gibi başlar.
Sonraki her deneme, ilk örnek çalışırken uygulamayı başlatma girişimi çok farklı davranışlara neden olur. Sonraki girişim, ilk örneğe komut satırı bağımsız değişkenlerini bildirir ve hemen çıkar. İlk örnek, sonraki örneğin komut satırı bağımsız değişkenlerinin ne olduğunu belirlemek için olayı işler
StartupNextInstance
ve çalışmaya devam eder.Bu diyagramda, sonraki bir örneğin ilk örneğe nasıl sinyal gösterdiği gösterilir:
Olayı işleyerek StartupNextInstance
tek örnekli uygulamanızın nasıl davranacağını denetleyebilirsiniz. Örneğin, Microsoft Outlook genellikle tek örnekli bir uygulama olarak çalışır; Outlook çalışırken Outlook'u yeniden başlatmayı denediğinizde, odak özgün örneğe kaydırılır ancak başka bir örnek açılmaz.
Uygulama Modelindeki Olaylar
Uygulama modelinde aşağıdaki olaylar bulunur:
Uygulama başlatma. Uygulama başlatıldığında olayı tetikler Startup . Bu olayı işleyerek, ana form yüklenmeden önce uygulamayı başlatan kod ekleyebilirsiniz. Olay
Startup
ayrıca, isterseniz başlatma işleminin bu aşamasında uygulamanın yürütülmesini iptal etme olanağı sağlar.Uygulamayı, uygulama başlangıç kodu çalışırken giriş ekranı gösterecek şekilde yapılandırabilirsiniz. Varsayılan olarak, veya
-nosplash
komut satırı bağımsız değişkeni kullanıldığında uygulama modeli giriş ekranını/nosplash
gizler.Tek örnekli uygulamalar. Olay StartupNextInstance , tek örnekli bir uygulamanın sonraki bir örneği başlatıldığında oluşturulur. Olay, sonraki örneğin komut satırı bağımsız değişkenlerini geçirir.
İşlenmeyen özel durumlar. Uygulama işlenmeyen bir özel durumla karşılaşırsa olayı tetikler UnhandledException . Bu olay için işleyiciniz özel durumu inceleyebilir ve yürütmeye devam edilip edilmeyeceğini belirleyebilir.
Olay
UnhandledException
bazı durumlarda tetiklenmez. Daha fazla bilgi için bkz. UnhandledException.Ağ bağlantısı değişiklikleri. Bilgisayarın ağ kullanılabilirliği değişirse, uygulama olayı başlatır NetworkAvailabilityChanged .
Olay
NetworkAvailabilityChanged
bazı durumlarda tetiklenmez. Daha fazla bilgi için bkz. NetworkAvailabilityChanged.Uygulama kapatıldı. Uygulama, kapanmak üzere olduğunda sinyal vermek için olayı sağlar Shutdown . Bu olay işleyicisinde, uygulamanızın gerçekleştirmesi gereken işlemlerin (örneğin, kapatma ve kaydetme) tamamlandığından emin olabilirsiniz. Uygulamanızı ana form kapatıldığında kapatacak veya yalnızca tüm formlar kapandığında kapatacak şekilde yapılandırabilirsiniz.
Kullanılabilirlik
Varsayılan olarak, Visual Basic Uygulama modeli Windows Forms projeleri için kullanılabilir. Uygulamayı farklı bir başlangıç nesnesi kullanacak şekilde yapılandırırsanız veya uygulama kodunu özel Sub Main
bir ile başlatırsanız, bu nesnenin veya sınıfın uygulama modelini kullanmak için sınıfın WindowsFormsApplicationBase bir uygulamasını sağlaması gerekebilir. Başlangıç nesnesini değiştirme hakkında bilgi için bkz. Uygulama Sayfası, Project Tasarım Aracı (Visual Basic).
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin