DevExpress WinForms SplashScreenManager’ın Kullanımı!

Eveet! Daha önce Silverlight ve WPF’te nasıl kullanılacağına dair yazılar yazdığım, kısaca ‘yükleniyor ekranı’ olarak bildiğimiz SplashScreen sonunda WinForms için DXv2 ile beraber geldi!

Silverlight DXSplashScreen

WPF DxSplashScreen

Formumuzu oluşturuyor ve Toolbox’tan SplashScreenManager’ımızı forma sürüklüyoruz.  Bununla beraber XtraEditors, Utils, Printing ve Data kütüphaneleri tasarımıza eklenmiş oluyor.

SplashScreenManager’ın Tasks’ına gelip ‘Add Splash Screen’ diyoruz. Böylelikle hiçbir kod yazmaya gerek kalmaksızın bize yeni bir form yaratıyor. Yine SplashScreenManager’daki Active Splash Form otomatik olarak yeni yaratılan Splash formu seçiyor. -Eğer burada birden fazla form varsa ve değiştirmek isterseniz Active Splash Form özelliğini kullanmalısınız-

Evet, yükleniyor ekranımızı oluşturduk. Peki bu nerede, nasıl çalışacak? SplashScreen, aktif olduğu her yerde, .exe’nin çalıştığı ve kullanıcının beklemesi gerektiği anda ekrana gelecek. Hemen deneyip göreyim, uygulamaya geçmeden anlayayım derseniz, Form’un Load’ına Thread.Sleep(3000); yazarak üç saniye kadar bu yükleme ekranının gelmesini sağlayabilirsiniz.

Bunun yanında, bir pencereden ziyade küçük bir “lütfen bekleyiniz” uyarısı çıkarmak istiyorsanız; Task’tan Add Wait Form’a gelip yeni bir form oluşturabilirsiniz. Bu bekleyiniz formu, uygulamanın çalışıp çalışmadığı bir yana, isteğe bağlı olarak ekrana gelir ve ekrandan gider. Yani herhangi bir Form gibi Show ve Close yöntemleriyle yönetilir. Örneğin bir düğmenin tıklanma olayı için:

SplashScreenManager.ShowForm(typeof(WaitForm1)); //ekranda göstermek için

SplashScreenManager.CloseForm(); //kapatmak için

Elbette bunu kullanabilmeniz için using DevExpress.XtraSplashScreen; eklemesini yapmanız gerekecektir.

Tüm bunların dışında Screen ya da Wait Form değil de yalnızca bir resim göstermek isterseniz, SplashScreenManager’in ShowImage() yöntemini kullanabilirsiniz. Bunun için tek yapmanız gereken ShowImage yöntemine Image türünden bir nesneyi parametre olarak göndermek.

Eğer kod tarafında müdahale etmek isterseniz, DevEpress’in konuyla ilgili yazısı: How to: Dynamically Update Custom Controls Added to Splash Forms 

Peki DevExpress’in varsayılan görsel tasarımını beğenmezseniz ne yapabilirsiniz? Solution Explorer’da söz konusu Form’a giderek istediğiniz düzenlemeleri yapabilirsiniz.

Ve eğeer, SplashScreen’deki Progress’i kendiniz yönetmek isterseniz, aşağıdaki kodu inceleyebilirsiniz:

for (int i = 1; i <= 100; i++) {
SplashScreenManager.Default.SendCommand(SplashScreen1.SplashScreenCommand.SetProgress, i);
Thread.Sleep(25);
}

SendCommand örneği.

DevExpress’in konuyla ilgili haber ve görsel dersi için: http://www.devexpress.com/Subscriptions/DXperience/DXv2/index.xml?page=45

Hatırlatma: SplashScreen Form sınıfından değil, SplashScreen sınıfından türetilmiştir. WaitForm da WainForm sınıfından türetilmiştir. Bu sebeplerden DevExpress.SplashScreen ve DevExpress.WaitForm kütüphaneleri kullanılır.

Haydi kolay gelsin.

%d blogcu bunu beğendi: