Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


C#.net Projelerine Efektli Açılış Formu Hazırlama (Splas Form)

Yazar: Yusuf Akgül

Kategori: C#.NET

Eklenme Tarihi: 07.10.2007 15:45:55

Arkadaşlar yapmış olduğunu Desktop uygulamalarda programın açılışı esnasında program hakkında kısa bir bilgi vermek yada arka planda veritabanı gibi bir takım thread'lerin yüklenmesini sağlamak amacıyla bir SPLASH yani açılış formunun nasıl hazırlanacağını göstereceğim.

SPLASH FORM YAPMAK

 Merhaba  arkadaşlar  bu makalemde  sizlere  desktop C#.net  uygulamalarında kullanabileceğiniz  projenizin  açılışı  esnasında karşınıza  çıkacak olan  efektli  bir  açılış  formu  yapıyor olacağız.

1-Splash   formun   arkaplanında  kullanacağım   resimi  belirliyorum ben  burada  aşağıdaki  resmi  kullandım.


2-Photoshop programını  kullanarak  resmin  kenarlarını aşağıdakine  benzeyecek şekilde temizliyorum.



Üzerinde  işlem yaptığım  resmi  acilis.gif olarak  kaydediyorum.

 3-Photoshop  üzerinde  yaptığımız  biçimlendirme işleminin ardından  Visual Studio ortamına geçiyoruz  ve projemize  iki  adet  form  ekliyoruz  ve main ve  splash  isimlerini  veriyoruz.


4-Formların  proje  tarafından açılış  sırasının   oluşturulması için   program.cs  dosyası içerisinde  aşağıdaki  kodları  ekliyoruz.


5-Yukarıdaki  kodlama  sayesinde ilk önce splash  form  gösterilecek  ardından  main form  gösterilecek. Şimdi sıra  geldi  splash  formu  yapmaya  bunun  için  öncelikle   projemizin içerisindeki  bin  klasorü altına  photoshop’da yapmış  olduğumuz  acilis.gif  resmini  yapıştırıyoruz.


6-Şimdi splash  formumuzu  açıyoruz  ve  formun  properties’inden  size  kısmına  347,339 değerini  giriyoruz. Daha sonra da formun  formborderstyle özelliğini None olarak yapıyoruz. Formumuzun   ekranın tam ortasında  açılması içinde yine  properties  ekranından StartPosition  sekmesinden  CenterScreen olarak  seçiyoruz.ardından  formumuzun  backcolor ve  transparancykey özelliklerini  white olarak  seçtim  bunu  seçmemin amacı  photoshopda  yapmış  olduğum şekilli  formumun  kare  şeklinde   değilde  benim istediğim  şekilde  gözükmesini  sağlamak mesala  bayanın  yüz hatlarının gözükmesi  gibi.  Bu nedenle  bu iki  rengi  mümkün  olduğunca  birbirine  yakın  değerler  seçersek daha net  sonuçlar  elde  ederiz

 

7-Sıra geldi splash   formu  kodlamaya. Anlatımları  kodların kenarında  yaptım ordan  takip edebilirsiniz.

-Form üzerine  2 adet  timer  yerleştiriyorum  ve  interval değerlerini 50 olarak  ayarlıyorum.

Arkadaşlar şimdi  kodlamamız  yapıyoruz.

public splash()
        {
            InitializeComponent();
            this.Opacity = 0;//balangıçda  formum görünmez (saydamlık  değeri=0)
        }

        private Bitmap arkaresim= new Bitmap("acilis.gif");
        // formumda  kullanacağım resmi bir  bitmap nesnesine atıyorum
        private Rectangle sınırlar = new Rectangle(0, 0, 347, 339);
        /*Formumu  yeniden  oluşturacağım için boyut  değerleri  ebatınca bir  rectangle
         nesnesi oluşturuyorum
         */
       
        /*override fonksiyonum sayesinde Formumu  yapmış  olduğum  resme  göre  yeniden  çiziyorum*/
        protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
        {
            e.Graphics.DrawImage(arkaresim,
               sınırlar,
                0, 0,arkaresim.Width, arkaresim.Height,
                GraphicsUnit.Pixel);
        }
     /*Timer1 ile  formumun açılışta  opacite  değerini  arttırarak açılmasını  sağlıyorum*/
        private float opacity = 0;
        private void timer1_Tick_1(object sender, EventArgs e)
        {
            opacity += 0.03f;//0.03'er değerlerler arttırma işlemini  yapıyorum
            this.Opacity = opacity;
            if (opacity > 1.0)
            {
               
              timer1.Enabled = false;
              timer2.Enabled = true;
            }
           
        }
       /*Timer2  sayesinde  formumun opacite  değerinin  düşerek  kapanmasını  sağlıyorum*/
        private void timer2_Tick(object sender, EventArgs e)
        {
            opacity -= 0.03f;//0.03'erlik değerlerle azaltıyom
            this.Opacity = opacity;
            if (this.Opacity ==0.0f)
            {

                this.Close();//opacite  değeri=0 olduğunda splash  form  kapanır.
            }
       
          
        }

böylece  formumuz  açılışta  opacitesi  artarak kapanıştada  opacitesi azalarak  kapacanacak 

Tüm arkadaşlara  çalışmalarında  başarılar  dilerimmm. kodları  buradan  indirebilirsiniz

Tema
Anket
Visual Studio 2010 Beta 2'yi denediniz mi?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.