Visual Basic

advertisement
PROGRAMLAMA DİLLERİNE
GİRİŞ
Ders 8: Windows Formları
Yrd. Doç. Dr. Altan MESUT
Trakya Üniversitesi
Bilgisayar Mühendisliği
Windows Formlar Projesi Başlatma
2
1
3
4
Kodu gösterir
Tasarım ekranını gösterir
Projedeki dosyaları
gösteren bölüm
Tasarım ekranı
Forma eklenebilecek kontrollerin
bulunduğu araç kutusu
Nesnelerin özelliklerinin
değiştirildiği bölüm
Olay Yönlendirmeli (Event Driven)
Dil Nedir?
• Programın akışının; fare tıklaması, klavyeden bir tuşa
basılması, bir ağ üzerinden ya da başka bir programdan
bir mesaj alınması gibi olaylar tarafından belirlendiği
programlama türüdür.
• Windows pencereleri üzerinde çalışan bir program
geliştirildiğinde, bu program olay yönlendirmeli olarak
çalışacaktır. Konsol ekranında çalışan programlar gibi,
kullanıcıdan belirli bir noktada bir girdi
beklemeyecektir.
• Kullanıcı pencere (Form) üzerinde yer alan herhangi bir
nesne ile etkileşimde bulunabilir. Programda bu
etkileşimler (olaylar) gerçekleştiğinde yapılması
gereken işlemler kodlanmalıdır.
Kontroller (Controls)
• Araç kutusundaki kontroller aslında birer sınıftır.
• Örneğin araç kutusunda TextBox kontrolü
seçilerek Form üzerine bir metin kutusu
yerleştirildiğinde, TextBox sınıfından
textBox1 isminde bir nesne yaratılmış olur (bu
isim daha sonra name özelliği ile değiştirilebilir).
• Formun kendisi de Form sınıfından türetilmiş
Form1 adında bir sınıftır.
public partial class Form1 : Form
Özellikler (Properties)
• Bir kontrolün birçok özelliği vardır. Kontrol seçildikten sonra
sağ tarafta yer alan Properties sekmesinden kontrolün
özelliklerinin değerleri değiştirilebilir.
• Örneğin textBox1 metin kutusunun Text özelliğine bir
değer girilirse, aslında textBox1 nesnesinin string türünde
olan Text değişkenine ilk değer ataması yapılmış olur.
Program başlatıldığında, textBox1 metin kutusunda girilmiş
olan bu değer görüntülenecektir.
• Kullanıcı textBox1’de yer alan değeri klavye yardımı ile
değiştirirse textBox1.Text değişkenine program çalışırken
değer atanmış olur. Bu değişkene kod ile değer atamak, veya
değişkenin değerini başka bir değişkene atamak için:
textBox1.Text = "Trakya Üniversitesi";
string str = textBox1.Text;
TextBox1.Text değeri str değişkenine atanır
Özellikler … devam
Kategoriye göre
listeleme
• Properties sekmesindeki özellikler
hem alfabetik sırada hem de
kategorilerine göre sınıflandırılarak
listelenebilir.
• Location ve Size gibi bazı
özellikler tüm nesnelerde yer alır. Bu
özellikler nesnenin form üzerindeki
konumunu ve büyüklüğünü
belirlemek için kullanılır.
• NOT: kod ile nesnenin özelliklerini
belirlerken button1.Location.X = 10;
değil button1.Left = 10; kullanmalıyız.
Alfabetik sırada
listeleme
Yöntemler (Methods)
• Yöntemler bir sınıfın fonksiyonları gibi düşünülebilir.
• Her sınıfın kendine has yöntemleri vardır.
• Örneğin birçok nesne ile kullanılan Focus yöntemi o
nesneye odaklanmak için kullanılır.
textBox1.Focus()
Yöntem
TextBox1 metin kutusuna odaklanılır (seçilir)
textBox1.Focused
Özellik
TextBox1 metin kutusunun seçili olup
olmadığını true yada false olarak döndürür.
Bu şekilde odaklanmaya
çalışıldığında hata verir.
Yöntemler … devam
• Fonksiyonların parametre alabilmesi gibi yöntemler
de parametre alabilir.
• Örneğin SetBounds yöntemi bir nesnenin konumunu
ve büyüklüğünü değiştirmek için kullanılır. x, y, width,
height olmak üzere 4 parametre alır.
• Aşağıdaki satır yazıldığında button1 nesnesinin
soldan mesafesi 10, yukarıdan mesafesi 10, genişliği
100, yüksekliği de 20 piksel olarak değiştirilmiş olur:
Olaylar (Events)
• Olaylar genellikle bir işlemin başlatılması
(tetiklenmesi) için kullanılırlar.
• Mouse ile bir nesne üzerine tıklamak o nesnenin
Click olayının tetiklenmesini sağlar. Bir komut
düğmesine tıklanınca yapılacak işlemi, o komut
düğmesinin Click yordamına yazmamız gerekir.
– Örneğin Slayt 4’te yer alan button1_Click yordamı,
button1 komut düğmesi tıklandığında yapılacak işlemin
(faktöriyel hesabı) tanımlanması için kullanılır.
Olaylar … devam
• Bir nesne üzerine çift-tıklama yapıldığı anda o nesne
ile ilgili varsayılan olayın kodunun yazılması için kod
görünümüne geçilir. Varsayılan olaylardan bazıları:
– Form için: Load (Form1_Load)
• Form yüklendiği anda tetiklenir
– Komut düğmesi için: Click (Button1_Click)
• Komut düğmesi üzerine mouse ile tıklandığı anda tetiklenir
– Metin kutusu için: TextChanged (TextBox1_TextChanged)
• Metin kutusuna bir karakter girildiği anda tetiklenir
Olaylar … devam
• Varsayılan olay haricinde bir olay
için kod yazılmak isteniyorsa
Properties sekmesinde sağ üstte
yer alan Events butonuna
tıklanarak listeden istenilen olay
seçilir.
• Bu listede istenirse o olayın ismi
de değiştirilebilir (Örneğin Click
yerine Tıkla yazabilirsiniz).
Ödev
• Bir metin kutusu ve
birçok komut
düğmesi kullanarak
yandaki gibi bir
hesap makinesi
programı yazın.
NOT
• C# dilinde birçok kontrol ve bu kontrollere ait
birçok özellik, yöntem ve olay mevcuttur.
• Bu derste bunlardan çok sık kullanılan küçük
bir bölümü gösterilecektir.
• Tüm kontrollere ait tüm özellik, yöntem ve
olaylarını ezbere bilmenize gerek yoktur.
Download