C#ile ilk tanışmam 2007 yılının sonlarına denk gelir. O zamanlar Visual Studio 2005 vardı, 2008 daha beta haldeydi. Tabi o zamanlar bu iki sürüm arasında bir fark göremiyordum ve tabi ki değişenin sadece arayüz olduğunu zannediyordum. Aslında VS 2008 ile birçok güzel yenilik ve .NET 3.5 gelmişti. Sonra biraz araştırmanın sonunda VS 2003 ile 2005 arasında da büyük değişimler olduğunu öğrendim. Bunlardan birisi de çok kullanılan kontrollerden bazıları olan içerik menüsü(ContextMenu), durum çubuğu(StatusBar), araç çubuğu(ToolBar) ve ana menü(MainMenu) olduğunu gördüm. Burada size aralarındaki farktan bahsetmeye çalışacağım.
Öncelikle bu kontrollerin yeni karşılıklarına bakalım.
| VS 2003 | VS 2005, 2008, 2010 |
|---|---|
| MainMenu | MenuStrip |
| ToolBar | ToolStrip |
| StatusBar | StatusStrip |
| ContextMenu | ContextMenuStrip |
| MenuItem | ToolStripMenuItem |
| ToolBarButton | ToolStripButton |
Öncelikle burada kullandığımız kontrolleri ToolBox’ a ekleyelim. ToolBox’ a sağ tıklayıp “Choose Items…” diyoruz.

Çıkan pencereden kontrol isimlerini aratıp işaretlemeniz gerekiyor. En sonunda da OK deyip kapatıyoruz.
Şimdi bunlar madde madde inceleyelim:
1. Ana Menü (MainMenu -> MenuStrip)
Sağda eski, solda ise yeni kontroller kullanılmıştır (Aslında bundan sonraki tüm resimlerde sağdakiler eski soldakiler yenidir. Tekrar tekrar sormayın).
Eski menünün seçim dikdörtgeni daha güzel gözüküyor, soldaki bu konuda daha kötü. Sağdaki daha çok Windows parçası gibi duruyor, soldaki ise ayrı bir yama gibi duruyor ama yeni menünün daha fazla özelliği var, örneğin simge belirtilebiliyor, bu özellik eskisinde yok. Bunların yanında en can alıcı nokta ise hız. Eski menü yenisinden daha hızlı bir şekilde açılıyor. Bu fark hemen farkedilmese de program çok uzun süreler çalıştığında kendisini hissettiriyor. Fark neredeyse 10 katına çıktığında gerçekten çok önemli bir hal alıyor.
Not : Yeni anamenü kontrolünde araya koyulan ayraçlar ToolStripSeparator sınıfı tarafından temsil ediliyor. Eski menülerde bunun yerine menü öğesinin Text özelliğine “-” yazmamız gerekiyor. O zaman otomatikmen ayraç olarak gözüküyor.
2. İçerik Menüsü (ContextMenu -> ContextMenuStrip)
Burada ise içerik menülerini görüyoruz. Aslında ana menüdeki öğeler ile aynı farklara sahip. Bu resimde vurgulamak istediğim ise seçilmiş haldeki öğeler. Görünüm bakımından eski kontrol yine öne çıkıyor. Ayrıca yeni menüde olmayıp ta eskisinde olan bir özellik var; RadioCheck. Bu farkı “Menu Item A” da görebilirsiniz. Birden fazla menü öğesi içerisinden sadece bir tanesinin seçilebildiğini belirten bir görsel öğe.
Eski menü yeni .NET kontrolleriyle (örneğin Panel) ilişkilendirilmeye çalışıldığında direkt Properties penceresinden yararlanamıyoruz. Bu işlemi kod tarafında halletmemiz gerekiyor. Korkmayın fazla uzun değil;
control1.ContextMenu = contextMenu1;
3. Araç Çubuğu (ToolBar -> ToolStrip)
Aynı şeylerden bahsetmekten sıkıldım, görsel fark zaten ortada. Benim bahsetmek istediğim işlevsel farklar. Örneğin, eski kontrole butondan başka birşey eklenemiyor, yenisi ise bu konuda çok seçenek sunuyor. Ayrıca, eski kontrol simgeleri bir ImageList’ den seçmek zorunda bırakırken, yenisi resmi direkt seçmek zorunda bırakıyor. Aslında bana ImageList’ den seçmek daha kolay geldi ama sizi bilemem.
4. Durum Çubuğu (StatusBar -> StatusStrip)
Bu kontrol hakkında çok fazla şey yazmaya gerek yok, görsel olarakda, işlev olarak birbirlerine çok benziyorlar. Tek farkı araç çubuğunda olduğu gibi; eski kontrol sadece Label eklemeye izin verirken yeni kontrol ProgressBar gibi değişik kontrollere de izin veriyor.
Popularity: 26%





Son Yorumlar