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.

Hakkında Mehmet KAPLAN
mehmet.kaplan@hotmail.com.tr https://mehmetkaplan.wordpress.com/mehmetkaplan/

One Response to DevExpress WinForms SplashScreenManager’ın Kullanımı!

  1. sinan diyor ki:

    Mehmet hocam elinize sağlık güzel bir paylaşım olmuş. Benim size sormak istedigim şimdi ben SplashScreenManager ile bekleme ekranını istediğim gibi açabiliyorum ama sorun şu ki örneğin kod blogu icinde bir yerde tıkandıgı zaman bir daha ben bekleme ekranını başka bir yerde açmışsam form zaten açık diye bir hata verip kırılıyor program biz o anda yükleniyor formu açıkmıdır diye bir sorgu yapamazmıyız örnegin if(SplashScreenManager.acitve () == true) buna benzer bir yapı varmıdır acaba _???

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: