📘 9.4 – Kurucularla Form Otomasyonu
🔹 Açıklama:
Windows Forms projelerinde, bir formdan başka bir forma veri göndermek ya da belirli ayarları nesne oluşturulurken yapmak için constructor (yapıcı metot) çok önemli bir araçtır. Constructor ile form açıldığında belirli değerlerin hazır olması, kullanıcıya özel başlıklar veya bilgilerin gösterilmesi mümkünolur.
🔍 Kullanım Senaryoları:
- Giriş ekranından gelen kullanıcı adını ana forma geçirmek
- Yeni açılacak formda başlık, mesaj veya stil ayarını belirlemek
- ListBox, ComboBox gibi bileşenlere dışardan veri göndermek
- Formları birbirine bağlayan kontrollü yapılar kurmak
🧠 Teknik Bilgiler:
- Form yapısına özel constructor eklenebilir
- Varsayılan (parametresiz) constructor korunmalı
- this.Close() veya this.DialogResult ile kontrol sağlanabilir
🎯 Kazanımlar:
- Windows Forms’ta constructor ile form kontrolü yapmayı öğrenme
- Formlar arası veri transferinde güvenli ve düzenli yapı kurma
- Parametreli form açmayı uygulamalı olarak kavrama
- Form üzerinde dinamik veri işlemleri için kurucu metot kullanabilme
🧪 9.4 – Kurucularla Form Otomasyonu: Uygulamalı 5 Örnek
📌 Örnek 1: Başlık Bilgisi Form Açılışında Gönderilsin
🎯 Amaç: Yeni açılan formun başlığı dışardan gelsin.
public partial class Form2 : Form
{
public Form2(string baslik)
{
InitializeComponent();
this.Text = baslik;
}
}
// Form1'den çağırma:
Form2 frm = new Form2("Hoşgeldiniz!");
frm.Show();
📝 Açıklama:
Form başlığını dışardan dinamik olarak ayarlamak mümkündür.
📌 Örnek 2: Giriş Formundan Kullanıcı Adını Alıp Gösterme
🎯 Amaç: Giriş ekranındaki kullanıcı adı, ana forma aktarılsın.
public partial class AnaForm : Form
{
string kullanici;
public AnaForm(string ad)
{
InitializeComponent();
kullanici = ad;
lblKullanici.Text = "Hoş geldin, " + kullanici;
}
}
// Giriş formundan gönderme:
AnaForm ana = new AnaForm(txtKullanici.Text);
ana.Show();
this.Hide();
📝 Açıklama:
Formlar arasında bilgi geçişi sağlıklı ve doğrudan olur.
📌 Örnek 3: Parametreyle Renk Teması Belirleme
🎯 Amaç: Yeni form açıldığında arka plan rengi dışardan belirlensin.
public partial class AyarFormu : Form
{
public AyarFormu(Color renk)
{
InitializeComponent();
this.BackColor = renk;
}
}
// Çağırma:
AyarFormu ayar = new AyarFormu(Color.LightGreen);
ayar.Show();
📝 Açıklama:
Constructor sayesinde kullanıcıya özel tema uygulanabilir.
📌 Örnek 4: Liste Verisini Yeni Forma Aktarma
🎯 Amaç: ListBox verisi bir başka forma aktarılsın.
public partial class ListeFormu : Form
{
public ListeFormu(List<string> veriler)
{
InitializeComponent();
foreach (var item in veriler)
{
listBox1.Items.Add(item);
}
}
}
// Gönderme:
var ogrenciler = new List<string> { "Ali", "Zeynep", "Mehmet" };
ListeFormu frm = new ListeFormu(ogrenciler);
frm.Show();
📝 Açıklama:
Liste yapıları constructor üzerinden kolayca taşınabilir.
📌 Örnek 5: Hesaplama Sonucunu Yeni Formda Gösterme
🎯 Amaç: Kullanıcının yaptığı işlem sonucu ayrı bir formda gösterilsin.
public partial class SonucFormu : Form
{
public SonucFormu(double sonuc)
{
InitializeComponent();
lblSonuc.Text = "Sonuç: " + sonuc.ToString("0.00");
}
}
// Çağırma:
double sonuc = 125.5 * 0.18;
SonucFormu frm = new SonucFormu(sonuc);
frm.Show();
📝 Açıklama:
Sonuçların kullanıcıya ayrı bir arayüzde sunulması sağlanır.
✅ Özet:
Bu örneklerle öğrenciler:
- Formlar arası veri iletmenin temel yollarını öğrendi
- Constructor ile farklı arayüz senaryolarını kurabildi
- Dinamik form davranışlarının nasıl yönetileceğini kavradı
- Profesyonel uygulamalarda form kontrolü kurmayı başardı
Pingback : A'DAN Z'YE C# İLE NTP - Hasan TANDOĞAN