Merhaba, C# MenuStrip, ToolStrip, StatusStrip, ContextMenuStrip yazımda, başlıktan da anlayabileceğiniz gibi dört tane nesneyi inceleyeceğiz. Bu nesneler formun tepesine yerleşen MenuStrip ve ToolStrip, formun en altına yapışan StatusStrip ve sağ tık yaptığımızda çıkan ContextMenuStrip nesneleridir.
Daha önce yazmış olduğum C# MenuStrip ve ContextMenuStrip Kullanımı dersime de göz atabilirsiniz.
C# MenuStrip, ToolStrip, StatusStrip, ContextMenuStrip
Bu nesnelere baktığımızda hepsinin ortak bir noktası var. Hepsi de Strip yani Şerit nesneleridir. Giriş kısmında da belirttiğim gibi forma eklendiğinde şerit gibi davranırlar. Bu dersimizde bu nesnelere biraz göz atacağız.
C# MenuStrip Kullanımı
C# MenuStrip, menü şeridi anlamına gelir. Forma eklendiğinde formun en üstüne yapışır. Neredeyse her programda gördüğümüz üst menü, MenuStrip nesnesi ile yapılır. Formumuza bir MenuStrip eklediğimizde aşağıdaki gibi görünür. İyi görünebilmesi için bir kaç menü ekledim.
Menülerimizi ekledikten sonra, üzerlerine çift tık yaparak, ilgili item’in Click eventine gidebilir ve istediğimiz işlemleri yapabiliriz. Bir button nesnesi gibi düşünebilirsiniz. Burada bahsetmek istediğim en önemli kısım klavye kısayolları atama konusudur.
Şimdi, MenuStrip nesnemizdeki Ekle iteminin Click eventine gelelim bir MessageBox yazalım.
private void ekleToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("Ekle"); }
Tekrar Designer kısmına gelelim ve Ekle itemine sağ tık yaparak Properties (Özellikler) kısmına gelelim.
Görselde gördüğünüz gibi ShortcutKeys kısmına gelelim ve istediğimiz bir kısayol kombinasyonunu verelim. Key: açılır menüsünde klavyeden basılabilecek neredeyse tüm tuşlar yer almaktadır. Ben burada Alt+E tuş kombinasyonunu verdim..
Görselde gördüğünüz gibi Ekle iteminin sağında atamasını yaptığımız kısayol otomatik olarak görünüyor ve elbette menüyü açmadan da bu kısayol çalışıyor. Projemizi build edip Alt+E tuşlarına bastığımızda “Ekle” mesajının ekrana çıktığını göreceksiniz.
Image özelliğini kullanarak da bu itemlere küçük görseller ekleyebilirsiniz. Aşağıdaki görselde görebilirsiniz.
Diğer özellikleri sizler deneyerek görebilirsiniz. Bu noktada anlatacağım çok önemli bir özellik kalmadı.
C# ToolStrip Kullanımı
C# ToolStrip, MenuStrip ‘ten farklı olarak desteklediği nesneler vardır. Bunlar ToolStripButton, ToolStripLabel, ToolStripSplitButton, ToolStripDropDownButton, ToolStripSeperator, ToolStripComboBox, ToolStripTextBox, ToolStripProgressBar nesneleridir. Yani MenuStrip gibi sadece labeller eklemek yerine farklı nesneler ekleyebiliyorsunuz. ToolStrip (Araç Şeridi) adı da buradan geliyor aslında.
ToolStripButton : ToolStrip’e bir button ekler. Normal button nesnelerinden farklı olarak bu button nesnesinin Text özelliği formda görünmüyor. Sadece eklenen resmi görünüyor. Bunlar haricinde bildiğimiz Button nesnesidir.
ToolStripLabel: Bildiğimiz Label nesnesidir.
ToolStripSplitButton: Hem Button hemde açılır menüdür. Normal tıkladığınızda Button nesnesi gibi davranır ancak hemen yanındaki aşağı ok simgesine tıklarsanız MenuStrip’te olduğu gibi bir menü açılır. Açılan menülere, MenuStrip nesnesindeki gibi otomatik kısayol kombinasyonları atayabilirsiniz.
ToolStripDropDownButton: MenuStrip nesnesinde olduğu gibi menüler ekleyebiliriz.
ToolStripSeperator: ToolStrip’e eklenen Tool’lar arasın bir ayraç çizgi ekler.
ToolStripComboBox: ToolStrip’e bir ComboBox ekler.
ToolStripTextBox: ToolStrip’e bir TextBox ekler.
ToolStripProgressBar: ToolStrip’e bir ProgressBar ekler.
C# StatusStrip Kullanımı
C# StatusStrip (Bilgi Şeridi), formun en altına yapışan bir şerittir. Genelde kullanıcıya bilgiler vermek için kullanırız. Örnek vermek gerekirse;
- Timer ile anlık tarih ve saat bilgisi gösterilebilir
- Aktif olan kullanıcı bilgisi verilebilir.
- Fare’nin o andaki konumu verilebilir (Bir kaç uygulamada görmüştüm. :) )
C# StatusStrip üzerinde 4 nesne kullanabiliyoruz. StatusLabel, ProgressBar, DropDownButton, SplitButton… Bu nesneleri zaten yukarıda görmüştük. Bu nesneler birbirlerinden türetilmiş olduğundan bir çok özellikleri aynı oluyor.
Aşağıdaki gibi forma bir timer ekleyerek anlık tarih gösterebiliriz.
C# ContextMenuStrip Kullanımı
C# ContextMenuStrip, bir nesne üzerinde sağ tık yaptığımızda çıkan menüdür.
Genelde sağtık menüsü diye bilinir. Forma eklenen ve form üzerinde görünen her nesneye ContextMenuStrip ataması yapabiliriz. Bunun için hangi nesneye sağtık menüsü ekleyeceksek o nesneye tıklıyoruz ve sağ tık yapıp Properties (Özellikler) diyoruz. Özellikler kısmından
ContextMenuStrip özelliğine gelerek, forma eklediğimiz ContextMenuStrip nesnesini gösteriyoruz. Proje çalışırken bu button üzerinde sağ tık yaptığımızda bizim atadığımız menü çıkacaktır.
Görselde gördüğünüz gibi button nesnesinde sağ tık yaptığımda ona atadığım ContextMenuStrip açılıyor.
C# MenuStrip, ToolStrip, StatusStrip, ContextMenuStrip Kullanımları
Bu nesneler hemen her projemizde kullandığımız nesnelerdir. Benim için özellikle ContextMenuStrip üzerinde GridView olan her formumda mutlaka kullandığım bir nesnedir. GridView’deki verileri dışa aktarma, grid düzenini kaydetme, listeyi yenile gibi bir çok özelliği varsayılan olarak kullandığımdan dolayı en çok kullandığım nesnelerden birisidir.
C# Eğitim Seti sayfamda GridView dışarı aktarma dersleriniz bulabilirsiniz. Sayfaya girp ve CTRL+F Yaparak Dışa Aktar yazdığınızda Hem Windows DataGridView (Excel, PDF) hemde DevExpress GridControl dışa aktarma konuların ulaşabilirsiniz. Gerçi linkleri de vermiş oldum. :)
Bu dersimizde de c# menustrip özellikleri, c# ToolStrip özellikleri, c# StatusStrip özellikleri, c# ContextMenuStrip özellikleri konusuna değinmiş olduk. Umarım faydalı bir yazı olmuştur. Sormak istediğiniz herhangi bir soru olursa sormaktan çekinmeyin arkadaşlar.
C# MenuStrip, ToolStrip, StatusStrip, ContextMenuStrip yazımda bu kadardı arkadaşlar. Diğer derslerimizde görüşmek üzere.
Aklınıza takılan bir şey olursa yorum atabilirsiniz.
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız. Derslerime özel olarak hazırladığım Github Projeme bu bağlantıdan ulaşabilirsiniz…
Bu yazı, sitemdeki 419. yazıdır…
Sağlıcakla ve takipte kalın. ;)