C# ile Taskbarda Çalışan Program Hazırlamak

c-ders-137Bu makalemde size NotifyIcon ve ContextMenu kullanarak bir taskbara yerleşen program nasıl yapılır, onu göstereceğim. Daha fazla uzatmadan hemen kodlarımızı yazmaya başlayalım.

İlk olarak Visual Studio’yu açalım ve yeni bir proje yaratalım. Bu projenin adına istediÄŸiniz gibi bir isim verebilirsiniz. Projemiz “C# Windows Application” olmalıdır.

Projemizi yarattıktan sonra Add / New Item diyerek yeni bir Icon ekleyelim. Iconumuzun Build Action’ı mutlaka “Embedded Resource” olmalı. Daha sonra Form1′ın kod kısmına gecelim. 

Sınıfımızın içine

private NotifyIcon notifyicon;
private ContextMenu menu;

kodlarını ekleyelim. Formumuza iki kere tıklayalım ve aşağıdaki metotları kaynak kodumuza ekleyelim.

private void Form1_Load(object sender, System.EventArgs e)
{
    notifyicon =
new NotifyIcon(); //Yeni bir NotifyIcon tanımladık

    notifyicon.Text = “NotifyIcon Ornegimiz”; //Mouse ile uzerine geldiÄŸimizde olusacak yazı

    notifyicon.Visible = true; //Gorunur ozelligi

    notifyicon.Icon = new Icon(”Icon1.ico”); //Iconumuzu belirledik

    menu = new ContextMenu(); //Yeni bir ContextMenu tanımladık

    menu.MenuItems.Add(0, new MenuItem(”Goster”, new System.EventHandler(Goster_Click))); //Menuye eklemeler yapıyoruz.

    menu.MenuItems.Add(1, new MenuItem(”Gizle”, new System.EventHandler(Gizle_Click)));

    menu.MenuItems.Add(2, new MenuItem(”Kapat”, new System.EventHandler(Kapat_Click)));

    notifyicon.ContextMenu = menu; //Menumuzu notifyiconun menusu olarak tanımladık
}

protected void Goster_Click(object sender, System.EventArgs e)
{
   Show();
//Formumuzu normal ebatlara getirecek
}

protected void Gizle_Click(object sender, System.EventArgs e)
{
   Hide();
// Formumuzu minimize edecek
}

protected void Kapat_Click(object sender, System.EventArgs e)
{
   Close();
//Formumuzu kapatacak
}

Evet, şimdi programımızı çalıstırmaya hazırız. E o zaman çalıstıralım ve sonucu görelim. Gorduğunuz gibi programımız çalıştı. Programı kapatalım. O da ne! Iconumuz hala taskbarda duruyor. Peki bunu nasıl düzelteceğiz? Hemen cevap verelim. Kaynak kodumuzun biraz üstlerine bakıyoruz ve şu satırları goruyoruz:

protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components ! null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

Bu satırları aşağıdaki gibi değiştirdiğimizde progrm kapatıldığında taskbar daki icon da silinecektir.

protected override void Dispose( bool disposing )
{
if( disposing )
{
this.notifyicon.Dispose();;
components.Dispose();
}
base.Dispose( disposing );
}

Ve bir sorunumuz daha var. Programımızı açtığımız anda Form1 de gözuküyor. Peki Form1 gözükmeden sadece Iconumuzun gözükmesini nasıl sağlayacağız? Bunun da çozümü var. Biraz daha yukarılara bakıp

InitializeComponent();

satırından bir sonraki satıra su kodları koyuyoruz:

this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;

Bunları yaptıktan sonra yapmamız gerek bir deÄŸiÅŸiklik daha var. O da Goster_Click ve Gizle_Click’i su sekilde deÄŸiÅŸtirmek:

protected void Goster_Click(object sender, System.EventArgs e)
{
this.WindowState = FormWindowState.Normal; //Formumuzu normal ebatlara getircek
}

protected void Gizle_Click(object sender, System.EventArgs e)
{
this.WindowState = FormWindowState.Minimized; // Formumuzu minimize edecek
}

Ve şimdi hersey tamam. Programımız artık calısmaya hazır durumda. Hemen calıştırıp sonucu görebiliriz.

Kategoriler: C# Programlama, Yazılım

Tags: , , ,

Yorumlar

Yorum Yok

Yorumunuzu Ekleyin

Yorum eklemek için giris yapmalısınız.