Genelde büyük ölçekli gelismis programlarda sag alt kösedeki taskbar dedigimiz bölümde programin kendine ait bir iconu bulunmaktadir ve bu icona sag tikladigimiz zaman bir menü açilir ve buradan islemlerimizi gerçeklestiririz..
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 is için tasarlanmis nesnemizi ortaya sürüyoruz. private ContextMenu cMenu; //simdi ContextMenu yani sag tik yaptigimizda çikacak olan menüyü ortaya sürüyoruz.. // unutmayinki yukarda bu nesneleri sadece public bir degiseken gibi ortaya sürdüm yani daha türetmedigimden dolayi suanda ramde yer kaplamayacaktir.. private void Form1_Load(object sender, EventArgs e) { //formun load esnasinda yani form yüklenirken.. nicon = new NotifyIcon();//burda ortaya sürdümüzün icon nesnesini yaratiorz nicon.Text = "Programimizin adi olabilir"; // burda iconun üstüne geldigimizde küçük bir baloncukla gözükmesini istediginiz yazi.. nicon.Visible = true;//iconumuzu görünür kiliyoruz. nicon.Icon = new Icon("icon1.ico");//buradaki icon1 projenizin "bin/debug" < klasörü içerisinde icon1.ico die bi dosya olmasi lasim onu siz ayarlarsiniz 🙂 cMenu = new ContextMenu();//buradada sag tik için vaadde bulundugumuz menu yü yaratioruz.. 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 yaratitimiz menu nesnesini, icon nesnesinin içine gömdük.. bu sayede beraber çalisicaklar.. sag tik olayi 😉 } protected void Goster_Click(object sender, System.EventArgs e) { //göster die bir eleman eklemistik onun click eventi burasi ve burda gösterelim.. Show(); } protected void Gizle_Click(object sender, System.EventArgs e) { //gizle die bir eleman eklemistik onun click eventi burasi ve burda gizleyelim.. Hide(); } protected void Kapat_Click(object sender, System.EventArgs e) { //kapat die bir eleman eklemistik onun click eventi burasi ve burda kapatalim.. nicon.Dispose();//nicon adindaki NotifyIcon nesnesini ramdan kaldiriyoruz.. This.Close();//üzerinde çalistigimiz formu kapatmak için.. } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { //formclosing event i yani form kapanirken calisicak olan kodlar buraya yazilir buraya form un properties/event ler yerinde bularak çift tiklayip gidebilirsiniz hani simsek simgesi olan mekan :)) nicon.Dispose(); } } } |
tkler
Çok tesekkürler. Ingilizce yetersizliginden dolayi yapamamistim ama Türkçe olarak burda bulduguma sevindim.
Yabanci sitelerde anlasiliyor neyin kullanilacagi ve napicalacagi ama VS 2005 te yapmislar , saka gibi 🙂
Kod yapistirdiginiz da olmuyor burda da yapistirmicam ama bunun olabilcegini inaniyorum en azindan Türkçe okuyarak yapabiliriz.
Ellerinize saglik.
Çok Tesekkür Ederim. Çok Yararli oldu.
Tesekkür ederiz çok isimize yaradi sagolasin.
hakki makalede
nicon.Icon = new Icon("icon1.ico");//buradaki icon1 projenizin "bin/debug" < klasörü içerisinde icon1.ico die bi dosya olmasi lasim onu siz ayarlarsiniz 🙂
olarak belirtmis. yani programin exe sinin bulundugu yere koyacaksin.
Ben bunun nereye koycamdosyalarini?
Gerçekten faydalli bir paylasim.Tesekkürler.
hamza arkadasimiza katiliyorum anlatiminiz güzel ama ekran görüntüleri olsa çok daha iyi olurdu bencede. emeginize saglik bu arada
Öneriniz için tesekkür ederim ama proje tamamen kodlarla yaptigimdan dolayi pek arayüzle ugrasmadik bunun için gerek duymadim ama bundan sonra elimden gelidigince resim eklemeye çalisisam hatta bir sonraki makalem bu icon nesnesiyle çalisirken ekran görntüsü nasil alinir onu anlatiyim :)) tesekkürler..
yazilan programdan sonra ekran çiktilarida konulursa daha iyi olur diye düsünüyorum.
tesekkürler…