22 Ağustos 2014 Cuma

Taskbar iconcugu ile çalışmak (sağ alt köşedeki iconlar)

Genelde büyük ölçekli gelişmiş programlarda sağ alt köşedeki taskbar dedigimiz bölümde programın kendine ait bir iconu bulunmaktadır ve bu icona sağ tıkladıgımız zaman bir menü açılır ve buradan işlemlerimizi gerçekleştiririz..
Bu taskbar icon'cugunun kullanım amaçları ise..
1- Programın arka planda çalıştıgını göstermek ve istedigimiz zaman ön plana çıkartarak işlemlerimizi gerçekleştirmek..
2- Bu icon sayesinde kısayoldan işlemlerimizi gerçekleştirmek..
 
ve arttırılabilir zevktende yapabilirsiniz arkadaşlar :)) şimdi kodlara geçmek istiyorum..
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace FormIconTaskbar
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private NotifyIcon nicon; //icon göstermek için bu iş için tasarlanmış nesnemizi ortaya sürüyoruz.

        private ContextMenu cMenu; //şimdi ContextMenu yani sağ tık yaptıgımızda çıkacak olan menüyü ortaya sürüyoruz..

        // unutmayınki yukarda bu nesneleri sadece public bir degiseken gibi ortaya sürdüm yani daha türetmedigimden dolayı şuanda ramde yer kaplamayacaktır..

        private void Form1_Load(object sender, EventArgs e)
        {
            //formun load esnasında yani form yüklenirken..

            nicon = new NotifyIcon();//burda ortaya sürdümüzün icon nesnesini yaratıorz
            nicon.Text = "Programımızın adı olabilir"// burda iconun üstüne geldigimizde küçük bir baloncukla gözükmesini istediginiz yazı..
            nicon.Visible = true;//iconumuzu görünür kılıyoruz.
            nicon.Icon = new Icon("icon1.ico");//buradaki icon1 projenizin "bin/debug" < klasörü içerisinde icon1.ico die bi dosya olması lasım onu siz ayarlarsınız :)
            cMenu = new ContextMenu();//buradada sağ tık için vaadde bulundugumuz menu yü yaratıoruz..
            cMenu.MenuItems.Add(0, new MenuItem("Göster"newSystem.EventHandler(Goster_Click)));//menuye eleman ekledik  ve click event ini tetikledik
            cMenu.MenuItems.Add(1, new MenuItem("Gizle"newSystem.EventHandler(Gizle_Click)));//menuye eleman ekledik  ve click event ini tetikledik
            cMenu.MenuItems.Add(2, new MenuItem("Kapat"newSystem.EventHandler(Kapat_Click)));//menuye eleman ekledik  ve click event ini tetikledik
            nicon.ContextMenu = cMenu;//burada yaratıtımız menu nesnesini, icon nesnesinin içine gömdük.. bu sayede beraber çalışıcaklar.. sağ tık olayı ;)
        }

        protected void Goster_Click(object sender, System.EventArgs e)
        {
            //göster die bir eleman eklemiştik onun click eventi burası ve burda gösterelim..
            Show();
        }

        protected void Gizle_Click(object sender, System.EventArgs e)
        {
            //gizle die bir eleman eklemiştik onun click eventi burası ve burda gizleyelim..
            Hide();
        }

        protected void Kapat_Click(object sender, System.EventArgs e)
        {
            //kapat die bir eleman eklemiştik onun click eventi burası ve burda kapatalım..
            nicon.Dispose();//nicon adındaki NotifyIcon nesnesini ramdan kaldırıyoruz..
            This.Close();//üzerinde çalıstıgımız formu kapatmak için..
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            //formclosing event i yani form kapanırken calısıcak olan kodlar buraya yazılır buraya form un properties/event ler yerinde bularak çift tıklayıp gidebilirsiniz hani şimşek simgesi olan mekan :))
            nicon.Dispose();
        }
    }
}
 
Uzun süredir makale yazmıyordum böyle bi makale iyi olur ve herkezin işine yarar diye düşündüm görüşlerinizi bizimle paylaşabilirsiniz arkadaşlar..

Hiç yorum yok:

Yorum Gönder