Ders 9 Visual Basic Bile*enleri

advertisement
PROGRAMLAMA DİLLERİNE
GİRİŞ
Ders 9: Genel Kontroller (1)
Yrd. Doç. Dr. Altan MESUT
Trakya Üniversitesi
Bilgisayar Mühendisliği
Genel Kontroller
• Bu derste Araç Kutusunda (Toolbox) bulunan
Genel Kontroller (Common Controls) sekmesi
altında yer alan sınıflar işlenecektir.
• Bir Windows formuna eklenebilecek nesneler
ile ilgili sınıflar hakkında detaylı bilgiyi
http://msdn.microsoft.com/trtr/library/system.windows.forms.aspx
adresinde bulabilirsiniz.
– NOT: aspx’ten önce sınıfın adını yazarsanız
doğrudan o sınıf ile ilgili sayfaya gidebilirsiniz:
http://msdn.microsoft.com/trtr/library/system.windows.forms.button.aspx
(bu sayfalarda sınıfın yöntemleri, özellikleri ve
olayları hakkında bilgiler yer almaktadır)
Metin Kutusu (TextBox)
• Metin kutusu kullanıcının programa değer girmesi, dosyadan
okunan veya program tarafından üretilen değerlerin
görüntülenmesi için kullanılır.
• Bu değerler Text özelliğinde saklanır.
• Metin kutusunun rengi BackColor özelliği ile, içindeki yazının
rengi ise ForeColor özelliği ile değiştirilebilir.
• Eğer birden çok satır gösterilecekse MultiLine özelliği True
olmalıdır.
• Yazıtipi değişimi için Font özelliği kullanılır:
– Program çalışırken yazıtipinin Name, Size, Bold, Italic, .. gibi
özelliklerine erişilebilir (string a = textBox1.Font.Name;)
– Fakat bu özellikler ReadOnly oldukları için değiştirilemezler
(textBox1.Font.Size = 12; hata verir).
Yazıtipini değiştirmek için aşağıdaki gibi bir kod kullanılabilir:
textBox1.Font = new Font("Calibri", 12, FontStyle.Bold);
Kalıplı Metin Kutusu (MaskedTextBox)
• Bu kontrolün Metin Kutusu kontrolünden farkı
Mask özelliği sayesinde belirli bir kalıba göre
girdi kabul etmesidir.
• Tarih, zaman, telefon numarası gibi biçimi
önceden belli olan nümerik değerlerin girişi
için kullanılır.
Düğme (Button)
• Genellikle kullanıcının bir işlemi başlatması için
tıkladığı kontroldür.
• Düğmenin en çok kullanılan olayı fare ile tek
tıklama (Click) olayıdır.
• Düğmenin üzerindeki yazı Text özelliği ile
değiştirilir.
• Düğmenin rengi BackColor özelliği ile, üzerindeki
yazının rengi ise ForeColor özelliği ile
değiştirilebilir.
• Komut düğmesinin üzerinde yazı yerine bir resim
gösterilmesi istenirse BackgroundImage özelliği
kullanılabilir.
Etiket (Label)
• Etiketler genellikle bir metin kutusunun
solunda yer alır ve yanındaki metin kutusunda
görüntülenen değerin (yada o metin kutusuna
girilecek olan değerin) ne olacağını (ad, soyad,
adres …) belirler.
• Etiketin yazısının değiştirilmesi de metin
kutuları ve düğmelerde olduğu gibi Text
özelliği ile yapılır.
Bağlı Etiket (LinkLabel)
• Tıklandığında bir web sayfasını yada bir mail
adresini açan etikettir.
• Varsayılan olayı olan LinkClicked olayına
System.Diagnostics.Process.Start ile istenilen
URL verilir:
.Start("http://altanmesut.trakya.edu.tr");
.Start("mailto:[email protected]");
Onay Kutusu (CheckBox) ve
Seçim Düğmesi (RadioButton)
• Kullanıcının fare yardımı ile birden çok seçenek arasından
seçim (seçim düğmesi ile) ya da seçimler (onay kutusu ile)
yapmasını sağlayan kontrollerdir.
• Yapılan seçimler Checked özelliği üzerinden kontrol edilir
(Seçili ise True, değilse False).
– Onay kutuları Checked özelliği dışında CheckState özelliğine de sahiptir.
Bu özellik; Unchecked (0), Checked (1) ve Indeterminate (2) olmak
üzere 3 faklı değer alabilir. Indeterminate (2) özelliği ancak program
kodu ile atanabilir, kullanıcı tıklama ile bu değeri atayamaz.
• İkisi arasındaki en büyük fark:
– Bir onay kutusunun değerinin değişmesi form üzerindeki diğer onay
kutularını etkilemez.
– Seçim düğmelerinin bir tanesinin tıklanması o düğmenin değerini True
yaparken, form üzerindeki daha önce seçilerek True yapılmış diğer
seçim düğmesinin değeri kendiliğinden False olur.
Not:
• Containers altında yer alan GroupBox, Panel
gibi bileşenlerle birbiri ile ilgili olan seçim
düğmeleri ve onay kutuları bir araya getirilip
gruplandırılabilir.
• Bir container içinde yer alan bir seçim düğmesi
tıklandığında sadece o container içinde daha
önce değeri True olan bir seçim düğmesi varsa
o düğme etkilenir. Form üzerinde veya başka
container’lardaki değeri True olan diğer seçim
düğmeleri etkilenmez.
Liste Kutusu (ListBox)
• Bir dizinin elemanlarının gösterilmesi, ve eğer
gerekiyorsa bir yada birkaç tanesinin seçilmesi
için kullanılan bileşendir.
• Kullanıcının çoklu seçim yapabilmesi için
SelectionMode özelliğinin MultiSimple yada
MultiExtended yapılması gereklidir.
– Simple’da sadece tıklamayla, Extended’ta ise Ctrl tuşu
ile birlikte tıklamayla çoklu seçim yapılır.
• Liste Kutusuna elemanlar Items.Add özelliği ile
eklenir Items.Remove özelliği ile çıkarılır.
– listBox1.Items.Add("Ahmet");
– listBox1.Items.Remove("Ahmet");
Birleşik Giriş Kutusu (ComboBox)
• Metin Kutusu ile Liste Kutusunun birleşimidir.
• Form üzerinde tek satırlık bir metin kutusu kadar yer
kaplar. Sağ tarafındaki düğmeye tıklanırsa liste
kutusu aşağıya doğru açılır.
• Listede yer alan değerler haricinde bir değer
girilmesi mümkündür.
• DropDownStyle özelliği ile kullanım şekli
ayarlanabilir:
– DropDown: Hem metin kutusu hem de Liste kutusu
beraber kullanımı (varsayılan [default] durum)
– Simple: Sadece metin kutusu kullanımı
– DropDownList: Sadece liste kutusu kullanımı
Onay Kutulu Liste Kutusu
(CheckedListBox)
• Liste kutusundan farkı; tüm elemanların
yanında birer onay kutusunun
görüntülenmesidir.
• NOT: ListBox, ComboBox ve CheckedListBox
içindeki elemanların sıralı olarak
görüntülenmesi isteniyorsa hepsinde olan
Sorted özelliği True yapılabilir.
Liste Görünümü (ListView) ve
Ağaç Görünümü (TreeView)
• Kapsadıkları elemanların ağaç görünümünde ve
liste görünümünde gösterilmesini sağlayan
kontrollerdir.
• ListView kontrolünün View özelliği ile
görüntüleme şekli değiştirilebilir (alt alta, yan
yana, … Windows Gezgini’ndekine benzer şekilde)
• TreeView kontrolünde elemanlar düğümlerde
(Nodes) saklanır. Root Node, Parent Node ve
Child Node kavramlarını “Veri Yapıları” dersinde
ağaçlar konusunda öğreneceksiniz.
Resim Kutusu (PictureBox)
• Bilgisayardaki veya internetteki bir resmi göstermek için kullanılır.
• Image özelliği kullanılarak istenilen resim seçilebilir.
– Çalışma zamanında (run-time) ImageLocation özelliğine veya Load
yöntemine istenilen resmin yolu (URL’si veya path’i) verilebilir:
pictureBox1.Load("c:/users/pc/desktop/resim.jpg");
• SizeMode özelliği ile görüntünün boyutu resim kutusunun
boyutundan farklı olduğu durumlarda nasıl gösterileceği ayarlanır:
– Normal, Zoom, AutoSize, CenterImage, StretchImage
• Form ve Komut Düğmesi gibi bazı kontrollerde bulunan
BackgroundImage özelliği resim kutusunda da vardır.
– BackgroundImage ile resim yüklerseniz, SizeMode yerine
BackgroundImageLayout kullanmalısınız.
Download