Bu site emekli olmuştur. Arşiv amaçlı olarak
BT AKADEMİ
sponsorluğunda yayın hayatına devam etmektedir.
Ana Sayfa
.net TV
Makaleler
Kaynak Kod
Haberler
Serbest Köşe
Canlı Köşe
Forum
C#nedir?
Ekibimiz
RSS
C# / VC#/.NET
YAZAR HAKKINDA
Tolga Tiryaki
http://www.csharpnedir.com/
İletişme geçmek için
tıklayın
.
1
Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için
tıklayın
.
Yayınlanan diğer makaleleri için
tıklayın
.
İlgili etiketler:
C# / VC#/.NET
Tolga Tiryaki
YAZI HAKKINDA
Türü
:
Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi
:
Başlangıç
Kategori
:
C# / VC#/.NET
Yayınlanma Tarihi
:
13.9.2003
Okunma Sayısı
:
41782
Yorum Sayısı
:
4
yorum yaz
SİTE İÇİ ARAMA
Üye
GİRİŞİ
Üye girişi için
tıklayın
.
Kullanıcı Adı
Şifre
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
Şifremi / Kullanıcı Adımı unuttum.
C#nedir? hesabınız yok mu?
Üye olabilmek için
tıklayın
.
Serbest KÖŞE
(?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
Bende Yazmak İstiyorum
Blogroll
Burak Selim Şenyurt
Bellek Yönetiminde Verimlilik için İpuçları (Rust Odaklı)
10.7.2025
Burak Selim Şenyurt
Rust ve Güvenli Bellek Yönetimi Hakkında
10.7.2025
Diğer Herşey
»
Makaleler RSS
»
Video Gönder
»
Makale Gönder
»
Serbest Köşeye Yazı Gönder
»
Yazar Başvurusu
»
C#nedir? Ekibinde Olmalıyım!
Sponsorlar
Ana Sayfa
/
Makaleler
/
Tolga Tiryaki
/
C# / VC#/.NET
/
C# ile Taskbarda Çalışan Program Hazırlamak
C# ile Taskbarda Çalışan Program Hazırlamak
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
Bu 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.
Umarım herkes için faydalı bir yazı olmustur. Benim için kod yazmak yazı yazmaktan daha kolay, bunu herkesin tatmasını isterim :)) Yeni yazılarda gorusmek dileğiyle hoşçakalın.
Makale:
C# ile Taskbarda Çalışan Program Hazırlamak C#, Visual C# ve .NET Tolga Tiryaki
Yazılan Yorumlar
Yorum Yaz
HAZ
26
2005
Hasan Akıncı
/
üye hakkında
private void notifyicon_Click(object sender, System.EventArgs e) { this.WindowState = FormWindowState.Normal }
HAZ
26
2005
Hasan Akıncı
/
üye hakkında
this.notifyicon.DoubleClick += new System.EventHandler(this.notifyicon_Click) eklersek dadından yenmez...
TEM
28
2004
hakki ismail
/
üye hakkında
içtenlikle teşekkürler
EYL
14
2003
Tolga Tarık Tiryaki
/
üye hakkında
Makaleyi burada yayınlarken yapılan bir değişiklik olmus ve kodlarda hata ortaya cıkmıs. protected override void Dispose( bool disposing ) { if( disposing ) { this.notifyicon.Dispose();; components.Dispose(); } base.Dispose( disposing ); } satırlarını protected override void Dispose( bool disposing ) { if( disposing ) { this.notifyicon.Dispose(); } base.Dispose( disposing ); } olarak değiştirirseniz sorun cozulecektir.
Sayfalar :
1
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için
tıklayın
.
Üye değilseniz
Üyel Ol
linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
Bu Konuda Son 10
Eklenen Son 10
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
Dizayn ve Kodlama
bt
akademi
. Tüm Hakları Saklıdır © Copyright 2002-2009 c#nedir?com
Makaleler
Serbest Köşe
Makale Gönder
.Net TV
Video Gönder
Canlı Köşe
Kaynak Kod
Forum
Haberler
Röportajlar
Anketler
C# Nedir?
İletişim
Site Haritası
RSS
Favorilere Ekle
Üyelik
Hesap Aktivasyon
Ekibimiz
Ekibe Katıl