DevExpress WinForms Sihirbazı! (WizardControl)

DevExpress WinForms Sihirbazını iki yıldır DevExpress kullanmama karşın yeni keşfettim! =] Meğer  bize her türlü kolaylığı sağlayan DevExpress, bildiğimiz Windows Sihirbazı gibi bir sihirbazı zaten bizlere sunuyormuş!

Neyse, sözü fazla uzatmayayım. Hem kullanışlı, hem de çok basit kullanımı olan bir nesne. CancelText, HelpVisible, UseCancelButton, SelectedPage (ileri-geri kısımlarında değişen içerik page oluyor) gibi onlarca kolaylık sağlayan özellik var. Eğer bir gün gerek duyarsanız diye yazayım dedim. Yakın durun:

DevExpress XtraWizard!

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.

DevExpress DXv2 WinForms Image Slider Kullanımı

DevExpress DXv2 WinForms Image Slider Kullanımı için http://documentation.devexpress.com/#WindowsForms/clsDevExpressXtraEditorsControlsImageSlidertopic belgesinden yardım alabilirsiniz.

Buradaki anlatım dışında ne yazık ki DevExpress’ın bu nesnesiyle ilgili kaynak bulunmuyor. Bu nesneyi Visual Studio 2010’un ToolBox’ında da ne yazık ki göremiyorsunuz. Kod tarafında bu şekilde bir ekleme yaparak ancak run time olarak ekleyebiliyorsunuz.

Elbette burada ben devreye giriyorum ve işin püf noktasını söylüyorum:

Form’unuzun Designer.cs kısmına gelip, #region Windows Form Designer generated code bölümünü açın. Oraya DevExpress’in sayfasındaki eklemeyi yapın. Bu eklemeyi yaptıktan sonra isim alanı bulamadığı için hata alacağından, aşağıdaki eklemeleri yapın:

using DevExpress.XtraEditors.Controls;
using System.Drawing;

Tüm bunları yaptıktan sonra Form’unuzun arayüzüne geldiğinizde ImageSlider sizi bekliyor olacak. =]

Peki daha daha neler var? Bunların dışında eğer resimlerinizi arayüzden eklemek isterseniz Images özelliğini kullanıyorsunuz. Eğer resim geçişlerinin  hızı hoşunuza gitmezse Ticks özelliğini kullanıyorsunuz. Eğer varsayılan, yani geçerli resmi görmek ya da değiştirmek isterseniz CurrentImage özelliğini kullanıyorsunuz. Eğer bu slayt nesnesini kullanıcıların özelleştirebileceği türden bir uygulamada kullanır ve resimleri kullanıcıya ekletmek isterseniz, ToolTip’e girilecek değerin HTML destekleyip desteklemeyeceğine AllowHtmlTextInToolTip özelliğiyle karar verebiliyorsunuz.

Haydi kolay gelsin.

DevExpress DXv2 WinForms Yenilikleri

DevExpress DXv2 sürümüyle beraber WinForms için gelen yenilikleri yüzeysel olarak inceleyelim:

WinForms TileControl

Grid, TreeList, Pivot, Chart, Docking, Rich Text ve Image Slider için dokunmatik desteği

XtraReport için tema desteği, QrCode desteği…

Chart için çoklu dokunma desteği, çözünürlük sorun çözümü (eksen için)…

Grid için dokunmatik desteği, yatay ve dikey split özelliği

Gauge için başarım (performans) iyileştirmesi, yeni modeller, api desteği, yeni animasyonlar…

Dock Window, Ribbon ve ToolBar kütüphaneleri için belge seçici, aero desteği, context menü özelliği…

Pivot için XMLA desteği, alan yönetimi yenilikleri…

Scheduler için Gantt desteği, genişlik için otomatik çözünürlük desteği…

Yeni Image Slider nesnesi, PictureEdit için zoom desteği, yükleniyor ekranı…

TreeList için süzme yenilikleri…

Yeni SplashScreen Manager…

Grid, ListBox ve XtraEditors için HTML desteği…

Metro Inspired teması…

%d blogcu bunu beğendi: