Ders 7: Form Kontrol Elemanları Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com
DateTimePicker Kullanıcıya tarih ve zaman ile ilgili bilgi göstermek ve almak için kullanılır. Tarih bilgileri otomatik olarak oluşturulur. Yanlış tarih bilgisi girişini engeller. 2
DateTimePicker ın Önemli Özellikleri 3 Format CustomFormat Colors MaxDate MinDate Value Location Size
DateTimePicker DateTimePicker kontrolünün içerdiği tarih ve zaman bilgisi DateTime tipindeki Value özelliğinde tutulur. Value değerini tutmak için yeni bir DateTime nesnesi oluşturulur ve içine DateTimePicker dan seçilen tarih-saat atanır. DateTime DogunGunu = new DateTime(); DogumGunu = datetimepicker1.value 4
DateTimePicker Tarih yada saat değerleri string olarak almak için DateTimePicker1.Value.ToString(string format) fonksiyonu kullanılabilir. format bilgileri Yıl : y Ay : M Gün : d Saat : h Dakika : m Saniye : s 5
Örnek private void Form1_Load(object sender, EventArgs e) datetimepicker1.value = DateTime.Today.AddYears(-20); // Başlangıçta datetimepicker in 20 sene öncesinin seçili //olması için kullandım private void btnyazdir_click(object sender, EventArgs e) DateTime DogumGunu = new DateTime(); DogumGunu = datetimepicker1.value; int DogumYili = datetimepicker1.value.year; int BuYil = DateTime.Today.Year; int yas = BuYil - DogumYili; string ad = txtad.text; string soyad = txtsoyad.text; string DGunu = DogumGunu.ToShortDateString(); MessageBox.Show("Adınız: + ad + "\n Soyadınız: + soyad + "\n Doğum Gününüz: + DGunu + "\n Şuanda: "+yas+ " yaşındasınız"); 6
Zamanlayıcı (Timer) Programın zamana bağlı olarak belirli işlemleri yapmasını sağlamak için kullanılır. Zaman aralığı genellikle programı yazarken belirlenir. 7
Timer Özellikleri Enabled (Aktifleştirmek için kullanılır) Interval (Milisaniye cinsinden Değerdir. Ör. 1000=1sn) Not : Timer kontrolü form üzerinde görünmez. Arka planda çalışır ve belirlenen zaman aşıldığında yapılması istenilen iş gerçekleştirir. 8
Örnek (Dijital Saat) private void Form1_Load(object sender, EventArgs e) lbldigitalsaat.text = DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second; private void timer1_tick(object sender, EventArgs e) lbldigitalsaat.text = DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second; private void btnbaslat_click(object sender, EventArgs e) timer1.enabled = true; private void btndurdur_click(object sender, EventArgs e) timer1.enabled = false; 9
Örnek DateTimePicker Örneğine Dijital Saat Ekleyin 10
GroupBox Form içerisinde belirli bir mantıkta birbiriyle bağıntılı olan kontrolleri bir arada toplamak için kullanılır. Form üzerindeki kontrolleri fonksiyonlarına göre alt kümelere ayırır. Bazı kontroller (RadioButtons) aynı grup içerisinde bulunduklarında birbirleri ile ilişkileri otomatik olarak belirlenir. 11
GroupBox Özellikleri BackColor = Arkaplan Rengi ForeColor = Önyüz Rengi Text = Grubun Adı Enabled = Aktiflik Durumu Visible = Görülebilir Olma Durumu Name = Nesne Adı (grpbmedenihali) 12
RadioButton Kontrolü Kullanıcıya iki veya daha fazla seçenekten sadece birini seçtirmek için kullanılır. Aynı form veya grup içerisindeki RadioButton lardan sadece birisi seçili olabilir. 13
Örnek DateTimePicker ile yapılmış olan örneğe MedeniHal adında bir groupbox ekleyin ve ve bu groupbox içine iki adet radio buton ekleyin ve bu radiobutonlara rbevli, rbbekar adlarını verin. Bu radio butonları ile kullanıcının evli yada bekar olduğu sorgulamasını yaptırın ve mesaj kutusuna yazdırın. 14
Aşağıdaki Kodları Programa Ekleyin //--------------------------------------------------- string medenihali = "; if (rbbekar.checked) medenihali = "Bekar"; else if (rbevli.checked) medenihali = "Evli"; if (rbevli.checked rbbekar.checked) MessageBox.Show(" Adınız: " + ad + "\n Soyadınız: " + soyad + "\n Doğum Gününüz: " + DGunu + "\n Şuanda: " + yas + " yaşındasınız\n" + medenihali + " siniz"); else MessageBox.Show("Medeni Halinizi Belirtmelisiniz."); //--------------------------------------------------- 15
CheckBox Kontrolü Kullanım olarak RadioButton a benzer fakat aynı gruptaki tüm CheckBox lar aynı anda seçili olabilir. Yani kullanıcının belirli bir sayıda seçeneklerden birden fazlasının seçebileceği durumlarda kullanılır. 16
Örnek Bir grpdersler adında bir GroupBox oluşturarak içerisine derslerin adlarını içeren ChekBox lar yerleştirelim (en az dört tane). Bu CheckBox ların seçim durumlarına göre kullanıcının aldığı dersleri MessageBox içerisinde yazdıralım. 17
//-CheckBox Başlangıcı-------------- string hobi = ""; if (ckbmuzik.checked) hobi += "Muzik "; if (ckbsinema.checked) hobi += "Sinema "; if (ckbspor.checked) hobi += "Spor "; if (ckbdans.checked) hobi += "Dans "; if (!ckbhobiler.checked) hobi = " Yok"; //-CheckBox Bitiş----------------------- - private void ckbhobiler_checkedchanged(object sender, EventArgs e) if (ckbhobiler.checked) grphobiler.visible = true; else grphobiler.visible = false; 18
ListBox Kontrolü Kullanıcının aynı anda listelenen birden fazla seçenekten bir veya daha fazlasını seçmesini sağlamak için kullanılır. 19
ListBox Özellikleri SelectionMode Sorted Items SelectedIndex SelectedItem Not : ListBox a eleman eklemek için kod yazarken Items.Add() fonksiyonunu çağırmak veya tasarım esnasında Properties penceresinde Items özelliğine tıklandığında açılan pencereye satırları girmek gereklidir. 20
ListBox Önemli Olayları DoubleClick SelectedIndexChanged 21
Örnek Bir Forma lsbiller adında bir ListBox ekleyelim. Items özelliğine tıklayarak açılan pencerenin içine birkaç il yazalım. Daha sonra bir listeden il seçildiğinde ilin adını bir label a yazdıralım. Đl ekleme ve çıkarma özelliğini Radiobutton ile sağlayalım 22
23 private void listbox1_selectedindexchanged(object sender, EventArgs e) try lbliller.text = listbox1.selecteditem.tostring(); catch private void Form1_Load(object sender, EventArgs e) lbliller.text = ""; listbox1.selectedindex = -1; cmbsehirler.selectedindex = -1; private void btnsil_click(object sender, EventArgs e) listbox1.items.remove(listbox1.selecteditem.tostring()); listbox1.refresh(); lbliller.text = ""; listbox1.selectedindex = -1; private void btnekle_click(object sender, EventArgs e) string sehiradi = textbox1.text; listbox1.items.add(sehiradi); cmbsehirler.items.add(sehiradi); listbox1.refresh(); cmbsehirler.refresh(); textbox1.text = ""; listbox1.selecteditem = sehiradi; private void cmbsehirler_selectedindexchanged(object sender, EventArgs e) try lbliller.text = cmbsehirler.selecteditem.tostring(); catch
ComboBox Kullanıcının aynı anda listelenen birden fazla seçenekten bir sadece birini seçmesini sağlamak için kullanılır. Seçim işlemi sırasında tüm elemanlar görüntülenirken işlem bittiğinde sadece seçilen eleman görüntülenir. 24
Örnek Birönceki Yapılan Örnekte bulunan Listbox içindeki illeri ComboBox ta yapalım. 25
TEŞEKKÜRLER www.barisgokce.com 26