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

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();
                }
            }
        
        }
    }
Tarih:
Hit: 601052
Yazar: Sharp



Yorumlar


Siftahı yapan siz olun
Yorum yapabilmek için üye girişi yapmalısınız.