Yazılarımız

Tesla Akademi

GÖRSEL PROGRAMLAMADA FORMLAR

Geliştirme ortamında form tasarımı yapan programcının çalışma masası

Görsel programlamaya yeni başlayan herkes aynı ilk dersi yaşar: forma bir düğme sürüklenir, program çalıştırılır, düğmeye basılır — ve hiçbir şey olmaz. Düğme oradadır, tıklanır, hatta basılmış gibi animasyon bile yapar; ama arkasında kod yoktur. Bu küçük hayal kırıklığı aslında görsel programlamanın bütün felsefesini öğretir: form ve üzerindekiler birer nesnedir; görünüşleri özelliklerle, davranışları olaylara yazılan kodla belirlenir. Formu bu gözle kavrayan için gerisi — kontroller, pencereler arası geçiş, veri taşıma — aynı kuralın tekrarıdır.

Form: Pencerenin Nesne Hâli

Masaüstü uygulamasında kullanıcının gördüğü her pencere bir formdur ve her form üç yüzlü bir nesnedir. Özellikler (properties) formun kimliğini tutar: başlığı, boyutu, rengi, ekranda nerede açılacağı. Metotlar formun yapabildikleridir: kendini göstermek, gizlemek, kapatmak. Olaylar (events) ise formun başına gelenlerdir: yüklenmek, tıklanmak, boyutlanmak, kapatılmak. Görsel programlamanın "görsel" kısmı özellikleri tasarım ekranında fareyle ayarlamak, "programlama" kısmı ise olayların içine kod yazmaktır. Bu üçlü ayrımı zihne yerleştirmek, öğrenmenin yarısıdır — kalan yarısı hangi işin hangi yüzde yapılacağını kestirmektir.

Özellikler: Tasarımda mı, Çalışırken mi?

Formun sık kullanılan özellikleri kısa bir listedir: ad (kodda kullanılan isim), başlık metni, boyut, açılış konumu (ekran ortası çoğu uygulamanın standardıdır), simge, arka plan rengi ve yeniden boyutlanıp boyutlanamayacağı. Hepsi tasarım anında özellik panelinden ayarlanabilir; ama aynı özellikler çalışma anında kodla da değiştirilebilir — karanlık tema düğmesi, arka plan rengini çalışırken değiştiren tek satırdır. Pratik kural şudur: ilk değerler tasarımda, kullanıcıya bağlı değişimler kodda. Bir de adlandırma disiplini vardır: forma ve kontrollere anlamlı adlar verilmeden büyüyen proje, "Button14 neydi?" sorularının altında ezilir. Musteri kayıt formuna frmMusteriKayit, kayıt düğmesine btnKaydet demek, üç ay sonraki kendinize yazılmış bir teşekkür notudur.

Form yaşam döngüsünün yüklenme, gösterim ve kapanış olaylarının akış şeması

Olaylar: Formun Yaşam Döngüsü

  1. Yüklenme (Load): Form ekrana gelmeden hemen önce tetiklenir — açılış hazırlıklarının adresi: listeleri doldurmak, varsayılan değerleri atamak, veritabanından ayar okumak.
  2. Gösterim (Shown): Form ilk kez göründüğü anda çalışır; kullanıcıyı karşılayan işlemler ve odak ayarı burada yapılır.
  3. Boyutlanma (Resize): Kullanıcı pencereyi büyütüp küçülttükçe tetiklenir; kontrollerin hizalanması çoğu ortamda yerleşim özellikleriyle (kenetleme/çapa) çözülür, kodla uğraş son çaredir.
  4. Kapanış öncesi (FormClosing): Formun en değerli olayı — kapanış iptal edilebilir. "Kaydedilmemiş değişiklikler var, çıkılsın mı?" sorusunun evi burasıdır.
  5. Kapanış (FormClosed): İş bitmiştir; bağlantıları kapatmak ve kaynakları bırakmak için son fırsat.

Başlangıçtaki "düğmeye bastım, olmadı" sorununun cevabı da buradadır: kontrolün olayına kod bağlamak gerekir — tasarım ekranında düğmeye çift tıklamak, çoğu ortamda tıklanma olayının iskeletini otomatik açar.

Form Üstündeki Ekip: Kontroller

Form bir sahneyse kontroller oyunculardır: etiket (label) bilgi gösterir, metin kutusu (textbox) veri alır, düğme (button) eylemi başlatır, açılır liste (combobox) seçenek sunar, onay kutusu ve seçenek düğmeleri karar toplar. Hepsi formla aynı nesne modelini izler — özellik, metot, olay — bu yüzden birini öğrenen hepsini öğrenmiş sayılır. Yerleşimde iki alışkanlık formu profesyonel gösterir: kontrolleri ızgara hizasında tutmak (tasarım ekranının hizalama araçları bunun içindir) ve sekme sırasını (Tab tuşuyla geziş) mantıklı ayarlamak — klavyeyle form dolduran kullanıcı, imlecin rastgele zıpladığı formu affetmez.

Çoklu Form: Pencereler Arası Geçiş

Gerçek uygulama tek formda bitmez: giriş formu, ana form, ayar penceresi... İkinci formu açmanın iki yolu vardır ve fark önemlidir. Normal gösterim (Show) yeni formu açar ama eskisini kilitlemez — iki pencere yan yana yaşar. Kipli gösterim (ShowDialog) ise yeni form kapanana dek eskisini bekletir; ayar ve onay pencerelerinin doğru yolu budur. Formlar arası veri taşımak için en temiz yöntem, açılan formun kurucusuna ya da genel özelliğine değeri vermek, dönüşte de kipli formun sonucundan okumaktır. Acemi işi kısayol — her şeyi global değişkene yazmak — küçük projede çalışır, büyüyen projede kimin neyi ne zaman değiştirdiği bilinmeyen bir karmaşa üretir.

Form, görsel programlamanın hem ilk dersi hem kalıcı iskeletidir: özellik-metot-olay üçlüsünü formda kavrayan, aynı modeli her kontrolde ve her bileşende yeniden kullanır. Ortamı tanıma, proje yapısı ve olay-tabanlı düşünme temellerini görsel programlama temelleri yazısında topladık; formlarla gerçek uygulamalar kurmayı adım adım ilerletmek isteyenler için Visual Basic eğitimi uygulamalı bir yol sunar.

Sıkça Sorulan Sorular

Görsel programlamada form nedir?

Kullanıcının gördüğü her pencere bir formdur ve form; özellikleri (başlık, boyut, renk), metotları (gösterme, gizleme, kapatma) ve olayları (yüklenme, tıklanma, kapanma) olan bir nesnedir. Uygulamanın arayüzü formlar, davranışı ise olaylarına yazılan kodlarla kurulur.

Özellikler tasarım anında mı kodla mı ayarlanmalı?

Pratik kural: ilk değerler tasarım ekranındaki özellik panelinden, kullanıcı etkileşimine bağlı değişimler ise çalışma anında kodla ayarlanır. Örneğin formun başlığı ve boyutu tasarımda belirlenir; tema rengini değiştiren düğme aynı özelliği çalışırken kodla günceller.

Form Load olayı ne işe yarar?

Load, form ekrana gelmeden hemen önce tetiklenir ve açılış hazırlıklarının adresidir: listelerin doldurulması, varsayılan değerlerin atanması, ayarların okunması burada yapılır. Kullanıcıyı karşılama ve odak ayarı gibi görünürlük gerektiren işler ise formun ilk göründüğü Shown olayına bırakılır.

Kaydedilmemiş veri varken formun kapanması nasıl engellenir?

FormClosing olayı kullanılır; bu olay kapanıştan önce tetiklenir ve iptal edilebilir. Kodda değişiklik kontrol edilir, kullanıcıya kaydetme sorusu sorulur ve gerekirse olayın iptal bayrağı işaretlenerek kapanış durdurulur. FormClosed olayında ise iş bitmiştir, yalnızca kaynak temizliği yapılır.

Show ile ShowDialog arasındaki fark nedir?

Show yeni formu açar ama önceki formu kilitlemez; iki pencere birlikte kullanılabilir. ShowDialog ise açılan form kapanana kadar çağıran formu bekletir ve kullanıcıyı önce bu pencereyle ilgilenmeye zorlar. Ayar, onay ve giriş pencereleri için doğru yöntem ShowDialog'dur.

Formlar arasında veri nasıl taşınır?

En temiz yol, açılan formun kurucu parametresine veya genel özelliğine değeri vermek; kipli açılan formdan dönüşte de sonucu formun özelliğinden okumaktır. Her veriyi global değişkende tutmak küçük projede işler ama büyüyen projede hangi formun veriyi ne zaman değiştirdiği izlenemez hale gelir.

 TESLA AKADEMİ