folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder [Dokuman] - C Sharp İle Msn Bildirim Tarzı Pop-Up Yapımı



[Dokuman] - C Sharp İle Msn Bildirim Tarzı Pop-Up Yapımı

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sharp
    Sharp's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    Merhaba geçenlerde böyle bişey yapmak istedim, bulduğum-geliştirdiğim kodları sizinle paylaşmak istedim. Lazım olabilir.

    Öncelikle bunun kullanım alanları nelerdir;

    Şahsen ben veritabanından sorgu çektiriyorum her 5 dk'da bir bulunduğum birime ait yeni bir bildirim geldiğinde pop-up aktif oluyor 

    dönen sonuç 0dan farklıysa pop-up açılıyor ve üzerine tıklanana kadar kaybolmuyor.

    yapımına geçelim ; 

    1- öncelikle bildirim için kullanacağımız formumuzu oluşturuyoruz formun boyutu önemli değil nesnelerinizi sol üste koyun yeter çünkü ekran çözünürlüğüne göre küçülüp büyüyecek. forma 1 adet timer nesnesi'de ekleyelim bunu yavaş yavaş gözükmesi için kullanacaz direk fırlamasın estetik olması açısından. borderları falan silinde bildirime benzesin biraz

     

     

    2- Formumuza kodlarımızı yazalım 

     

         private void Bildirim_Load(object sender, EventArgs e)
            {
                ShowInTaskbar = false; // taskbarda gizliyoruz ki amele gibi taskbarda gözükmesin :) -- tahribat.com
                Width = Convert.ToInt16(Screen.GetWorkingArea(this).Width / 5); // ekran genişliğinin 1/5 ini alıyoruz
                Height = Convert.ToInt16(Screen.GetWorkingArea(this).Height / 5);  // ekran yüksekliğinin 1/5 ini alıyoruz
                SetBounds(Screen.GetWorkingArea(this).Width - Width, // width değerimizi atalım
                Screen.GetWorkingArea(this).Height - Height, Width, Height); // burdanda masaüstü koordinatlarına göre uygun şekilde yerleştiriyoruz
                this.Opacity = 0; // görünürlüğü 0 yapıyoruz ki timer zaten yavaş yavaş getirsin formu
                timer1.Enabled = true; // timer'ımızı aktif ediyoruz
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
    
                if (this.Opacity < 100) //opacity 100 değilse arttır.
                {
                    this.Opacity += 0.10;
                }
    
          
            }

     

    3- ana formumuzu inceleyelim;

    ana formda 1 adet timer belirlenen dk aralığında count sorgusu çekip yeni bildirim varsa bildirim formunu açması için düzenleme yapıyoruz.

         private void timer2_Tick(object sender, EventArgs e)
            {
                
                    SqlConnection baglan = new SqlConnection();
                    baglan.ConnectionString = "integrated security=SSPI;data source=" + server + ";initial catalog=DBCAN";
                    SqlCommand cmd = new SqlCommand();
                    cmd.CommandText = "SELECT COUNT(*) as SAY FROM BILDIRIM WHERE GORULDU=0";
                    cmd.Connection = baglan;
                    baglan.Open();
                    SqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        clsdegisken.bildirimsay = Convert.ToInt16(oku["SAY"].ToString());
                    }
                    if (clsdegisken.bildirimsay > 0)
                    {
                        frmuyari bildirim = new frmuyari();
                        bildirim.Show();
                    }
                }
            
            }
        }
    

    www.yesilgrow.com - Growshop
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tqrL
    tqrL's avatar
    Kayıt Tarihi: 07/Temmuz/2010
    Erkek

    timer değilde push tarzı bişey olsa daha hoş olur

    not : push tarzı bişey hiç yapmadım

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FCN
    FCN's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    güzel gözüküyor eline sağlık . ufak bir ekleme yapmak istedim sadece. 

    direk opacity 0 yaptıgında o sırada arkada işlem yapıyorsa adamda mousela üstünde duruyorsa kum saati çıkabilir . (multitasking kullanılmazsa)

    öncelikle formu gizleyip ve opacity 0 yapıp.  timerın tickindede görünür hale getirdikten sonra opacity yi arttırırsan böyle bir sorun kalmaz.

    ha önemli bişimi hayır ama  ne bilim eklim dedim  :D

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sharp
    Sharp's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    aslında bide mouse üzerine geldiğiğnde opacity'i 50 ye düşürecek bişey yapacaktım ama üşendim açıkcası yapan olursa kullanırım ama :)


    www.yesilgrow.com - Growshop
Toplam Hit: 2070 Toplam Mesaj: 4