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..
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", new System.EventHandler(Goster_Click)));//menuye eleman ekledik ve click event ini tetikledik cMenu.MenuItems.Add(1, new MenuItem("Gizle", new System.EventHandler(Gizle_Click)));//menuye eleman ekledik ve click event ini tetikledik cMenu.MenuItems.Add(2, new MenuItem("Kapat", new System.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(); } } } |