Ders 06: Button, Label, LinkLabel, TextBox, MaskedTextBox
Transkript
Ders 06: Button, Label, LinkLabel, TextBox, MaskedTextBox
9. Hafta ComboBox, ListBox, CheckedListBox, ListView, ImageList BPR251 Görsel Programlama 1 Bu Derste Öğrenecekleriniz: 1. ComboBox 2. ListBox No 1 2 3 4 Adı ComboBox ListBox CheckedListBox ListView 3. CheckedListBox 4. ListView Araç Çubuğu Görünümü 5. ImageList Açıklama Açılır kutu, içlerinden bir tanesi seçilir Liste kutusu İsteğe bağlı seçim kutucukları listesi 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 9. Hafta ComboBox, ListBox, CheckedListBox, ListView, ImageList BPR251 Görsel Programlama 1 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 9. Hafta ComboBox, ListBox, CheckedListBox, ListView, ImageList BPR251 Görsel Programlama 1 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 görüntülenebilmesi sağlanabilmektedir. birden fazla sütün şeklinde elemanların 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 9. Hafta ComboBox, ListBox, CheckedListBox, ListView, ImageList BPR251 Görsel Programlama 1 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 9. Hafta ComboBox, ListBox, CheckedListBox, ListView, ImageList BPR251 Görsel Programlama 1 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ü Tail: Döşeme görünümü LargeIcon: Büyük simge 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 9. Hafta ComboBox, ListBox, CheckedListBox, ListView, ImageList BPR251 Görsel Programlama 1 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