Bu Derste Öğrenecekleriniz: 1. ComboBox 2. ListBox 3. CheckedListBox 4. ListView 5. ImageList No Adı Araç Çubuğu Görünümü Açıklama 1 ComboBox Açılır kutu, içlerinden bir tanesi seçilir 2 ListBox Liste kutusu 3 CheckedListBox İsteğe bağlı seçim kutucukları listesi 4 ListView Liste görünümü 1. ComboBox Açılır şekilde kullanıcıya bir liste sağlar. Aslında bir metin kutusu ile bir liste kutusundan oluşmaktadır. Listedeki elemanlardan bir tanesi seçilebilir veya metin kutusuna yeni bir değer girilebilir. DropDownStyle özelliği ile Listenin sürekli görünebilir olması sağlanabilir. Aynı zamanda DropDownStyle özelliği ile metin kutusuna yeni değer girilebilir olup olmaması da ayarlanabilmektedir. 1 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2012-2013 Güz Dönemi
DropDownStyle özellikleri: DropDown DropDownList Simple Üstteki metin kutusuna listede olmayan yeni değer girilebilir. Aşağı oka tıklayınca liste açılır. Listedekilerin haricinde bir şey girilemez veya seçilemez. Metin kutusu kısmı kilitlidir. Liste kısmı sürekli açıktır. Üstteki metin kutusu kısmına yeni değer girilebilir. Listeden seçilen metin kutusuna geçer. Listeye yeni elemanlar eklemek için Items özelliği kullanılmaktadır. Örneğin listeye yeni şehirler eklemek veya listeden belli bir şehir silmek için aşağıdaki kodlar kullanılabilir. // bir seferde tek bir eleman eklemek için Add kullanılır. combobox1.items.add("niğde"); // bir defada birden fazla eleman eklemek için AddRange kullanılır combobox1.items.addrange(new string[] { "Aksaray", "Eskişehir", "Kütahya" }); // listeden eleman silmek için Remove kullanılır. combobox1.items.remove("adana"); // tüm elemanları silmek için Clear kullanılır. combobox1.items.clear(); SelectedItem özelliği ile seçili elemana direk olarak erişilebilir. SelectedIndex özelliği ile seçili elemanın kaçıncı elaman olduğu bilinebilir. Text özelliği ile seçili elemanın yazısına ulaşılır. string memleket = combobox1.selecteditem.tostring(); Açılır listenin listesi tasarım aşamasında sağ üst köşesindeki ok tıklanarak Edit Items tıklanıp çıkan listeye her satıra bir nesne eklemek şartıyla düzenlenebilir. Liste elemanları alfabetik olarak sıralansın isteniyorsa Sorted özelliği true yapılmalıdır. ComboBox nesnesinde en çok kullanılan event SelectedIndexChanged olayıdır. private void combobox1_selectedindexchanged(object sender, EventArgs e) { // birşeyler seçildiğinde çalışmasını istediğimiz kod buraya yazılır. string sehir = combobox1.selecteditem.tostring(); MessageBox.Show(sehir); } 2 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2012-2013 Güz Dönemi
2. ListBox Kullanıcının tıklayarak listeden seçim yapmasını sağlayan bir liste kutusu denetimidir. SelectionMode özelliği kullanılarak bir veya daha fazla seçim yapılması sağlanabilir. SelectionMode özelliğinin alabileceği değerler: None One MultiSimple MultiExtended Eğer seçim modu None olursa herhangi bir nesne seçilemez demektir. SelectionMode One olunca listeden sadece bir eleman seçilebilir demektir. Eğer seçim modu MultiSimple olursa tıklanan her nesne seçili hale gelir. Seçimden çıkarmak için tekrar tıklamak gerekmektedir. Eğer seçim modu MultiExtended olursa birden fazla nesne seçmek için ctrl ile beraber tıklamak gerekmektedir. MultiColumn özelliği kullanılarak listede birden fazla sütün şeklinde elemanların görüntülenebilmesi sağlanabilmektedir. Yandaki ListBox örneğinde MultiColumn özelliği true ve SelectionMode özeliği de MultiSimple olarak ayarlanmıştır. Bu sayede liste kutusu birden fazla sütün şeklinde görüntülenebilmekte ve birden fazla nesne seçilebilmektedir. Liste kutusunun elemanları tasarım aşamasında sağ üst köşesindeki ok tıklanarak Edit Items tıklanıp çıkan listeye her satıra bir nesne eklemek şartıyla düzenlenebilir. Listedeki elemanlar alfabetik olarak sıralansın isteniyorsa Sorting özelliği true yapılır. Listeye yeni eleman eklemek veya silmek için Items özelliği kullanılır. Yukarıdaki listeye yeni meyveler eklemek veya listeden meyve silmek için aşağıdaki kodlar kullanılabilir. // bir seferde tek bir eleman eklemek için Add kullanılır. listbox1.items.add("üzüm"); // bir defada birden fazla eleman eklemek için AddRange kullanılır listbox1.items.addrange(new string[] { "Ceviz", "Mandalina", "Çilek" }); // listeden eleman silmek için Remove kullanılır. listbox1.items.remove("portakal"); // tüm elemanları silmek için Clear kullanılır. listbox1.items.clear(); SelectedItem özelliği ile seçili tek elamana erişilebilir. SelectedItems özelliği ile seçili elemanlara direk olarak erişebiliyoruz. SelectedIndex özelliği ile seçili tek elemanın kaçıncı elaman olduğunu bilebiliyoruz. SelectedIndices özelliği; seçili elemanların indekslerinin listesini verir. 3 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2012-2013 Güz Dönemi
Liste kutusu için en çok kullanılan event SelectedIndexChanged olayıdır. private void listbox1_selectedindexchanged(object sender, EventArgs e) { // listeden birşeyler seçildiğinde çalışmasını istediğimiz kod buraya yazılır. string meyve = listbox1.selecteditem.tostring(); MessageBox.Show(meyve); } 3. CheckedListBox Mantık olarak ListBox ile birebir aynıdır. Tek farkı elemanlar check edilebilmektedir. ListBox ta bahsedilen her şey burada da geçerlidir. SetItemChecked(int index, bool value) metodu ile index belirtilerek istenen eleman check/uncheck edilebilmektedir. Listeye elaman eklemek için Items özelliği kullanılır. Eklenecek elemanın seçili olup olmaması aşağıdaki kod ile sağlanabilir. checkedlistbox1.items.add("muşmula", true); // bu kod ile listeye check edilmiş bir eleman eklenecek. checkedlistbox1.items.add("enginar", false); // bu kod ile listeye check edilmemiş bir eleman eklenecek. // eklerken true veya false kullanılmazsa false Kabul edilir. checkedlistbox1.items.add("üzüm"); // bir defada birden fazla eleman eklemek için AddRange kullanılır, // hepsi false olarak eklenir checkedlistbox1.items.addrange(new string[] { "Ceviz", "Mandalina", "Çilek" }); // listeden eleman silmek için Remove kullanılır. checkedlistbox1.items.remove("portakal"); // tüm elemanları silmek için Clear kullanılır. checkedlistbox1.items.clear(); 4. ListView ListView liste kutusu gibidir fakat kullanıcıya farklı görünüm seçenekleri sunabilmektedir. Örneğin Windows Gezgini dosyaları bir ListView kontrolünün içinde gösterir. ListView nesnesinin in her elemanı ListViewItem olarak isimlendirilir. CheckBoxes özelliği kullanılarak nesnelerin check(seçim kutucuğu) özellikleri görüntülenebilir. Hangi nesnelerin check edilmiş olduğunu almak için CheckedItems özelliği kullanılır. View özelliği ile listenin görünüm ve davranışı değiştirilebilir. View özelliğinin alabileceği değerler: LargeIcon Details SmallIcon List Tile Sonraki sayfada 5 farklı liste görünümü gösterilmiştir. 4 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2012-2013 Güz Dönemi
Liste görünümü LargeIcon olarak ayarlanmış ise LargeImageList özelliği görüntülenecek nesne ikonları için ayarlanmalıdır. Aynı şekilde liste görünümü SmallIcon olarak ayarlanmış ise SmallImageList özelliği görüntülenecek nesne ikonları için ayarlanmalıdır. Liste kutusundaki gibi nesnelere Items özelliği ile erişilir. Eğer liste görünümünde nesneler gruplansın isteniyorsa Groups özelliğine gruplar eklenmeli ve ShowGroups özelliği true yapılmalıdır. Eğer görünüm ayrıntılı olacaksa Columns özelliği kullanılmalıdır. Liste görünümü ayrıntılı durumdayken bir nesne seçildiğinde tüm liste seçilsin isteniyorsa FullRowSelect özelliği true yapılması gerekiyor. Grid çizgileri görüntülensin isteniyorsa GridLines özelliğinin true yapılması gerekmektedir. Yalnız grid çizgilerinin görüntülenmesi için elemanların gruplandırılmaması ve görünümün detay şeklinde olması gerekmektedir. View özelliğinin alabileceği 5 farklı görünüm: SmallIcon : Küçük simge görünümü Details : Detay Görünümü LargeIcon: Büyük simge görünümü Tail: Döşeme görünümü List: Liste görünümü 5 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2012-2013 Güz Dönemi
Detay görünümüne dikkat edilirse listedeki elemanlar birden fazla sütundan oluşabilmektedir. Yani her bir elemanın birden fazla bilgisi olabilmektedir. Aynı durum döşeme görünümünde de söz konusudur. Bunu tasarım aşamasında sağlamak için liste görünümü simgesi seçilir, şağ üst köşede çıkan ok tıklanır, açılan menüde Edit Items e tıklanır, oradan da her nesne için SubItems özelliği düzenlenebilir. Liste görünümü kontrolüne kod ile eleman eklemek için aşağıdaki gibi kod yazmamız gerekecektir. listview1.items.add(new ListViewItem(new string[]{"nesne adı","özellik 1", "Özellik 2"})); Burada kaç adet özellik yazacağımız sütun sayısına bağlıdır. 6 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2012-2013 Güz Dönemi