FORMLAR ve ÖZELLİKLERİ

Windows uyumlu programlardaki pencerelerin görevini, Visual Basic projelerindeki Form'lar yerine getirmektedir. Formlar Visual Basic programlarının en önemli bileşenleridir. Visual Basic projeleri en azından bir form içerirler. Visual Basic ilk kez başlatıldığı zaman varsayılan adı project1 olan projeye otomatik olarak Form1 adında bir form eklenmektedir.

Şekil 11.1

Yukarıdaki ekranda (Şekil 11.1) görmüş olduğunuz gibi formun sol üst köşesinde form başlığı ve Formun sağ üst köşesinde ise üç düğme bulunmaktadır. Bu düğmeler, Ekranı kapla, Simge durumuna küçült ve formu kapat düğmeleridir. Üzerinde düz çizgi bulunan düğme formu simge durumuna küçültür. Üzerinde çarpı işareti olan düğme ise formu kapatır. Dikdörtgen işaretli düğme ise formun, ekranı tam olarak kaplamasını sağlar.

Formun sol üst kösesinde bir de denetim düğmesine ait düğme bulunmaktadır. Bu düğme üzerine mouse ile tıklarsanız Şekil 11.2'de görüldüğü gibi Forma ait denetim menüsü açılır. Formun denetim menüsünde, Formu taşıma, simge durumuna küçülme, önceki boyutuna getirme ve formu kapatma gibi işlemleri gerçekleştiren komutlar bulunmaktadır.

Şekil 11.2

Üstteki ekran görüntüsünden de görüleceği gibi denetim menüsünde bulunan kapat komutu Formu kapatır. Aynı işlemi, formun sağ köşesindeki çarpı işaretine basarak ta yapabiliyorduk. Form üzerinde görmüş olduğunuz bu denetim komutları diğer Windows uyumlu programların komutlardan farklı değildir.

Form boyutlarını mouse değiştirebilirsiniz. Form kenarlarına gidip, çift yönlü ok işaretini görünce sürükleme yapmanız halinde form boyutunu değiştirmiş olursunuz. Form boyutunu properties penceresinden de değiştirebiliriz. Properties penceresi formun bütün özelliklerini içermektedir. Dolayısıyla formların özelliklerini belirlemede Properties penceresini kullanırız.

11.1. Properties Penceresi

Formlar Visual Basic uygulamalarının en önemli nesneleridir. Diğer nesnelerde olduğu gibi Formların başlığı, rengi, ekrandaki yeri, büyüklüğü gibi özellikleri mevcuttur. Çalışmış olduğunuz projeye yeni bir form eklediğinizde veya hard diskte bulunan bir formu çağırdığınızda formun her özelliği için ayrı bir değişken Visual Basic tarafından otomatik olarak tanımlanır.

Properties penceresi, nesnelere ait özellikleri içeren değişkenler topluluğudur. Hangi nesnenin özelliklerini öğrenmek istiyorsanız önce o nesneyi aktif (seçili) duruma getirmelisiniz. Daha sonra properties penceresine bakarak o nesnenin özelliklerini öğrenebilirsiniz. Visual Basic programı çalıştırıldığında, properties penceresi ekranda yoksa, Şekil 11.3'de görülen View menüsündeki Properties Window komutunu kullanarak properties penceresini ekrana getirebiliriz.

Şekil 11.3

Bu komutu seçtiğinizde karşınıza formlar üzerine değişiklik yapabileceğiniz, Formlara eklediğiniz nesnelerin özellikleri bulunan properties penceresi (Şekil 11.4) çıkacaktır.

Şekil 11.4: Properties penceresi

Visual Basic uygulamalarındaki projelerde birden fazla Form olabilir. Hangi Forma ait özelliklerin bulunduğunu Properties penceresinin başlık satırından sonraki ilk satırına bakarak tespit edebilirsiniz. Formların özelliklerinde değişiklik yapmak, normal bir değişkene değer atamadan farksızdır.

11.2. Formları, Ekranı Kaplama ve Simge Durumuna Küçültme

Visual Basic projesi dahilinde yeni oluşturulan bir formda varsayım olarak simge durumuna küçültme özelliği bulunmaktadır. Fakat bazı durumlarda Formların simge durumuna küçülebilir özelliğinin olması istenmeyebilir. Projenizde bulunan Formun, çalışma sırasında simge durumuna küçültülmesini istemiyorsanız. Form seçili durumda iken properties penceresinden Forma ait MinButton özelliğini Şekil 11.5'te görüldüğü gibi False durumuna getirmelisiniz.

Şekil 11.5: MinButton özelliğinin False durumuna getirilmesi

Bu değişikliği yaptıktan sonra projeyi çalıştırdığınızda Şekil 11.6'da görüldüğü gibi Simge durumuna küçültme düğmesinin pasif halde olduğunu göreceksiniz.

Şekil 11.6

Aynı işlemi Ekranı kapla düğmesi için de yapabilirsiniz. Eğer pencerede ekranı kapla düğmesinin de olmasını istemiyorsanız bu düğmeyi pasif hale getirebilirsiniz. Bunun için forma ait properties penceresindeki (Şekil 11.7) MaxButton özelliğini False olarak değiştirmelisiniz.

Şekil 11.7: MaxButton özelliğini False yapma

Bu işlemlerden sonra projeyi çalıştırırsak, Şekil 11.8'de görüldüğü gibi Ekranı Kapla düğmesinin de yok olduğunu göreceğiz.

Şekil 11.8

Gördüğünüz gibi formun sağ üst köşesinde sadece kapatma düğmesi mevcuttur.

11.3. Denetim Düğmesi ve Menüsü

Windows uyumlu pencerelerdeki gibi Visual Basic ile oluşturulan formlarda denetim düğmesi bulunmaktadır. Denetim düğmesi üzerine mouse ile tıklarsanız Denetim menüsü açılır. Şekil 11.9'da verilen ekran görüntüsünde denetim menüsü olan bir form penceresi görmektesiniz.

Şekil 11.9

Yukarıdaki ekranda görmüş olduğunuz gibi denetim menüsündeki komutlarla formun simge durumuna küçülmesi, ekranı kaplaması ve kapatılması gibi işlemler yapılabilir. MinButton ve MaxButton özelliklerini False yaptıktan sonra projeyi çalıştırıp Denetim menüsüne bakacak olursak, Şekil 11.10'daki ekran görüntüsünü alırız.

Şekil 11.10

MinButton ve MaxButton özellikleri False yapıldığı için simge durumuna küçültme ve ekranı kaplama komutları da Denetim menüsünden çıkarıldı. Formlarda denetim menüsünün olması istenmiyorsa, properties penceresindeki ControlBox özelliğine Şekil 11.11'deki gibi False değeri aktarılmalıdır.

Şekil 11.11

ControlBox özelliğine properties penceresinden False değerini aktardıktan sonra, projeyi çalıştırırsanız Şekil 11.12'de verilen ekran görüntüsünü alırsınız.

Şekil 11.12

11.4. Formun Adını ve Başlığını Değiştirmek

Visual Basic başlatıldığında otomatik olarak projeye dahil edilen formlar veya New Form komutu ile projeye dahil edilen bütün formlar varsayım olarak aynı özelliğe sahiptirler. Projeye yeni eklenen formlara Form1, Form2 gibi adlar ve başlıklar verilmektedir. Form adını ve başlığını değiştirmek için properties penceresinden Name ve Caption özelliğinden yararlanabilirsiniz.

Şekil 11.13

Şekil 11.13'de verilen ekran görüntüsünü Name özelliğine Kayit ve Caption özelliğine Kayıt Girişi değerlerini yükledikten sonra aldım. Bu işlemleri komut satırında da yapabiliriz. Mesela Kayıt Girişi olarak değiştirdiğimiz Caption özelliğini, komut satırında Giriş olarak tekrar değiştirmek istersek, Şekil 11.14'deki program satırlarını yazmalıyız.

Şekil 11.14: Form başlığını değiştirme

Buna göre proje yüklendiği zaman Form_Load yordamına ait program satırları işletilerek Kayıt adlı formun Caption özelliğine Giris değeri atanacaktır. Şekil 11.15'de görüldüğü gibi pencere (form) başlığı Giris olarak değişmiştir.

Şekil 11.15

 

11.5. Formun Boyutlarını Değiştirmek

Çalışma sırasında mouse ile veya program satırları ile formların boyutlarını rahatlıkla değiştirebilirsiniz. Visual Basic Projesi dahilinde oluşturduğunuz formların veya pencerelerin boyutlarında çalışma sırasında değişiklik yapılmasını istemiyorsanız, formu ilk oluştururken Forma ait Properties penceresinde (Şekil 11.16) BorderStyle özelliğinde değişiklik yapmalısınız. BorderStyle özelliği 2-Sizable değerini içeriyorken çalışma anında formun boyutlarını mouse ile değiştirebilirsiniz.

Şekil 11.16

Eğer çalışma anında formun sınırlarını çizgi ile belirlemek istemiyorsanız BorderStyle özelliğine 0-None değerini aktarmalısınız. Bu değeri aktardıktan sonra form veya penceredeki başlık bilgisi ile denetim düğmelerinin kaybolduğunu göreceksiniz.

BorderStyle özelliğine 3-Fixed Dialog değerini aktarırsanız formun sağ üst köşesindeki Simge durumuna küçült ve Ekranı kapla düğmeleri Şekil 11.17'de görüldüğü gibi kaldırılır.

Şekil 11.17

Sadece denetin menüsündeki komutlarla pencereyi simge durumuna küçültülebilir veya pencerenin ekranı kaplamasını sağlayabilirsiniz. Eğer MinButton ve MaxButton özelliklerini de False durumuna getirirseniz pencereyi Simge durumuna veya Ekranı kaplayacağı duruma asla getiremezsiniz. Bu durumda pencerenin boyutlarını mouse ile değiştiremezsiniz.

BorderStyle özelliğine, 4-Fixed ToolWindow değerini aktarırsanız, çalışma sırasında formun ControlBox özelliğine bakılmaksızın Denetim menüsü kaldırılır. BorderStyle özelliğine 4-Fixed ToolWindow özelliğini aktarıp programı çalıştırırsak Şekil 11.18'deki ekran görüntüsünü alırız.

Şekil 11.18

11.6. Formun Boyutlarını Belirlemek

Denetim menüsündeki komutlarla veya mouse ile Form boyutlarında değişiklik yapılabileceği önceki konularda belirtilmişti. Çalışma ve tasarım anında Form veya pencerenin güncel boyutları Visual Basic tarafından otomatik olarak tanımlanan Width ve Height değişkenlerinde tutulmaktadır. Visual Basic’te varsayım olarak Twip birimi kullanılmaktadır.

With ve Heigth değişkenleri tasarım anında mouse ile formun boyutlarında yapılan değişikliklerden hemen etkilenir. Programcı isterse formun boyutlarını mouse ile belirlemek yerine doğrudan Properties penceresinde (Şekil 11.19), Twip cinsinden Width ve Height adlı form değişkenlerinin içeriklerinde değişiklik yapabilir.

Şekil 11.19

Width Height değişkenlerini kullanarak Formların boyutlarını çalışma sırasında program kodu yazarak ta değiştirebilirsiniz. Şekil 11.20'de verilen program kodu ile çalışma sırasında formun üzerinde her tıklama işleminden sonra Formun genişliği ve yüksekliği 500 Twip kadar artar.

Şekil 11.20

Programı çalıştırırsak Şekil 11.21'deki ekran görüntüsünü elde ederiz.

Şekil 11.21

Form üzerinde iki defa tıkladıktan sonra Şekil 11.22'deki ekran görüntüsünü aldım. Gördüğünüz gibi form üzerinde her tıkladığımızda formun yüksekliği ve genişliği 500 Twip artmaktadır.

Şekil 11.22

11.7. Formun Ekrandaki Yerini Belirlemek

Windows ortamında birden fazla Formu aynı anda bulundurup kullanma imkanına sahipsiniz. Hazırlanan form veya pencere ilk kez ekrana getirildiğinde pencerenin ekrandaki konumu önemlidir. Pencerenin veya formun ekrandaki konumu Left ve Top adlı Form değişkenleri ile belirlenmektedir.

Forma ait properties penceresindeki Left ve Top özelliklerinin başlangıçtaki varsayılan değerleri 0' dır. Proje çalıştırıldığı zaman pencere masaüstünün sol üst köşesinde konumlanır. Kullanıcı, tasarım anında Left ve Top değişkenlerinin içeriğini Şekil 11.23'deki pencereden değiştirerek formun masaüstündeki yerini belirleyebilir.

Şekil 11.23

Formun masaüstündeki yerini tasarım anında properties penceresinden yararlanarak belirlemek yerine program kodu yazarak ta belirtebilirsiniz. Bunun için Left ve Top değişkenlerine, program satırında iken değer aktarmalısınız. Şekil 11.24'te verilen örnekte, mouse ile form üzerinde her tıklandığında Left veTop değişkenleri 300 Twip artarak formun masaüstündeki yeri değişecektir.

Şekil 11.24

11.8. Formlarda Font Kullanımı

Formlara bilgi yazımı, font ve punto seçiminin yapılması gibi işlemlerin program satırında nasıl belirlendiğini daha önceki konularımızda bahsetmiştik. Şimdi form bağlamında fontlar hakkında daha ayrıntılı bilgi verilecektir. Bildiğiniz gibi Visual Basic projeleri dahilinde kullanılan formlara print deyimi ile sabit bir bilgi yazıla biliniyordu ve formlara düğmeler, liste kutuları yani başka nesneler dahil edilebiliyordu.

Form ile beraber yapılacak yazma ve çizme işlemlerinde geçerli olacak font ve punto değeri Visual Basic tarafından otomatik olarak hazırlanan değişkenlerde saklanmaktadır. Üzerinde çalışılan projeye yeni bir form eklendiği zaman formda 8 punto büyüklüğünde Ms Sans Serif fontunun kullanılacağı varsayılır. Form dahilinde geçerli olacak fontun adı ve punto değeri Properties penceresinin (Şekil 11.25) Font adlı form değişkeninde saklıdır.

Şekil 11.25

Properties penceresindeki Font özelliğinin sonuna konulan ve üzerinde 3 nokta bulunan düğme üzerinde tıklarsanız ekrana Şekil 11.26'da görülen Yazıtipi diyalog kutusu gelir.

Bu diyalog penceresinden istediğiniz yazı tipini, yazı biçemini ve yazı boyutunu seçebilirsiniz.

Şekil 11.26: Yazıtipi dayalog kutusu

Ayrıca program kodu yazarak ta çalışma anında istediğiniz font ve punto değişikliği yapabilirsiniz. Şekil 11.27'de verilen program satırları ile yazının font ve punto seçimi yapılmaktadır.

Şekil 11.27

FontName : Yazının tipini belirler.

FontSize : Yazının puntosunun belirler.

FontBold : Yazının koyu olmasını sağlar.

FontItalic : Yazıların italik basılmasını sağlar.

11.9. Formlara Resim Yerleştirmek

Formlar ilk yüklendiğinde üzerlerinde herhangi bir nesne veya resim bulunmaz. Eğer siz bu zemine istediğiniz bir resmi veya fotoğrafı yerleştirmek istiyorsanız forma ait Picture adlı form değişkeninden yararlanmalısınız. Formlarda değişik tip ve formatta (Bitmat, Icon, Metafile) dosyalar kullanılabilir. Formun zemin rengini BackColor adlı form değişkeni ile değiştirebilirsiniz.

Şekil 11.28

Properties penceresinde, Şekil 11.28'de görülen Picture özelliği sonuna eklenen ve üzerinde 3 nokta bulunan düğmeyi tıklarsanız, ekrana Load Picture diyalog (Şekil 11.29) kutusu gelir. Bu diyalog kutusunda, geçerli dizindeki resim dosyaları listelenir.

Şekil 11.29: Load Picture diyalog kutusu

Örnek olması için Windows Meta File dosyalarından Postcard.wmf dosyasını seçip aç düğmesini tıklarsak söz konusu resim, Şekil 11.30'da görüldüğü gibi formun bütün yüzeyini kaplar.

Şekil 11.30: Forma resim dahil ettikten sonraki ekran görüntüsü

Formun boyutlarında değişiklik yapılması halinde forma dahil edilen resim otomatik olarak ölçeklenir. Bu sırada Properties penceresinde (Şekil 11.31) Picture değişkeninin karşısında forma bir Windows Meta File dosyasının dahil edildiği anlamında (metafile) bilgisi olur.

Şekil 11.31

Eğer forma meta file dosyası yerine ICO uzantılı ikon dosyası dahil edilmiş olsaydı, Picture değişkenin karşısında bu kez (Icon) bilgisi olurdu.

Çalışma anında forma ikon veya resim dosyası eklemek için LoadPicture fonksiyonundan yararlanılır. LoadPicture() fonksiyonu ile hard diskten okunan resim veya ikon dosyası, forma ait Picture değişkenine aktarılır.

Şekil 11.32

Program kodlarını yazdıktan sonra programı çalıştıracak olursak Şekil 11.33'deki ekran görüntüsünü elde ederiz.

Şekil 11.33

Forma dahil edilecek resim dosyası, programın işletimi sırasında yani çalışma anında belirlenebilir. Bu amaçla Şekil 11.34'deki program satırlarını yazdık. Çalışma anında forma dahil edilecek resim dosyasının adı kullanıcıdan istenir. Kullanıcının seçtiği dosyanın adı bir değişkene aktarılır.

Şekil 11.34

Kullanıcıdan dosya adı istenirken, isteğe bağlı olarak Windows’un standart diyalog kutularından yararlanılabilir. İster tasarım anında ister çalışma anında olsun, Forma dahil edilen resmin üzerine başka bilgiler yazılabilir. Formun üzerinde bulunan diğer nesneler resim ekleme işleminden etkilenmez.

11.10. Zemin Renginin Belirlenmesi

Başlangıçta Formların varsayılan rengi Gri'dir. Eğer zemin rengini değiştirmek istiyorsanız, Properties penceresindeki (Şekil 11.35) BackColor adlı değişkenden yararlanmalısınız.

Şekil 11.35: Properties penceresi

Properties penceresinde BackColor özelliği seçili durumda iken karşısında düğmeyi tıklarsanız Şekil 11.36'da görülen renk paleti ekrana gelir. Siz bu renklerden herhangi birini seçerek formun rengini değiştirmiş olursunuz.

Şekil 11.36

11.11. Formun Başlangıç Durumunu Belirlemek

Şekil 11.37'de görülen WindowState adlı form değişkeni yardımıyla yüklenen bir formun başlangıç durumu seçilebilmektedir.

Şekil 11.37

Bu değişken varsayım olarak 0-Normal değerine sahiptir. Eğer form yüklenir yüklenmez, formun ekranı kaplamasını veya hemen simge durumuna geçmesini istiyorsanız, WindowState değişkeninin içeriğinde değişiklik yapmalısınız. WindowState değişkeni 0-Normal değeri de dahil olmak üzere üç sabit değerden birini alabilir. Program çalıştırıldığında, formun simge durumunda ekrana gelmesini istiyorsanız WindowsState özelliğine 1-Minimized, ekranı kaplamasını istiyorsanız 2-Maximized değerini aktarmalısınız. Bu işlemleri program kodu yazarak ta yapabilirsiniz. Örneğin aşağıda (Şekil 11.38) verilen program kodu ile söz konusu formun üzerinde çift tıklandığında, form simge durumuna geçecektir.

Şekil 11.38

 

11.12. Ölçekleme Birimini Belirlemek

Visual Basic projelerinde varsayım olarak Twip ölçü birimi kullanılmaktadır. Bir inç yaklaşık olarak 1440 Twip’e karşılık gelmektedir. Visual Basic dahilinde Twip’ten farklı ölçü birimleri de mevcuttur. Form dahilinde geçerli olan ölçü birimlerini değiştirmek için Şekil 11.39'da görülen ScaleMode özelliğinden yararlanılır.

Şekil 11.39

Işıklı bant ScaleMode değişkenin üzerinde iken geçerli ölçü biriminin yazılı olduğu liste kutusu açılırsa, Properties penceresine kullanılabilecek ölçü birimleri listelenir. Bunlardan hangisi seçilirse ölçekleme birimi olarak o kullanılır.

Form dahilinde kullanılabilecek ölçü birimi çalışma anında da değiştirilebilir. Bunun için ScaleMode değişkenine kullanılmak istenilen ölçü biriminin adını aktarmak yeterlidir. Şekil 11.40'da verilen program kodu ile önce ölçü birimi milimetre olarak değiştiriliyor. Ardından CurrentY ve CurrentX değişkenlerin içerikleri 20 mm olarak değiştiriliyor. Bundan sonra yapılacak yazma işlemlerinde birim olarak milimetre kullanılır.

Şekil 11.40

11.13. Formları İptal Etmek

Birden fazla Form içeren projelerde istenirse herhangi bir Formun kullanılmasını engelleyebilirsiniz. Bir formu kullanılamaz duruma getirmek için Şekil 11.41'de görülen Enabled özelliğinden yararlanılır.

Şekil 11.41

Enabled değişkeninin içeriği False olduğu sürece form üzerinde herhangi bir işlem yapılamaz. Form kapatılamaz, simge durumuna getirilemez. Eğer True ise söz konusu form şimdiye kadar verilen örneklerde olduğu gibi kullanılabilir ve form üzerinde izin verilen her türlü işlem yapılabilir.

11.14. Çizgi Kalınlığını Belirlemek

Formun üzerine Circle() fonksiyonu daire çizerken veya Line() fonksiyonu ile çizgi çizerken geçerli olacak çizgi kalınlığını belirlemek için Şekil 11.42'de görülen DrawWidth özelliğinden yararlanırız.

Şekil 11.42

DrawWidth değişkeninin içeriği başlangıçta 1 değerine sahiptir. Bu değeri değiştirirseniz verilen değer oranında çizgi kalınlığı artar. Bu değişkenin değerini program kodu ile de değiştirebiliriz. Şekil 11.43'deki örnekte değişik çizgi kalınlıklarında bir dikdörtgen ve bir daire çizdirilmektedir.

Şekil 11.43

Programı çalıştırdığımızda elde ettiğimiz ekran görüntüsü Şekil 11.44'deki gibi olmuştur.

Şekil 11.44