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