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