Merhaba değerli Webkolog.net takipçileri, bugünkü yazımızda C# .NET Framework 4 ile Windows Forms uygulamalarının temel yapı taşı olan Form'ların kullanımını detaylı bir şekilde inceleyeceğiz. Formlar, kullanıcı arayüzünün temelini oluşturur ve uygulamamızın kullanıcıyla etkileşimini sağlayan görsel bileşenleri (düğmeler, metin kutuları, listeler vb.) üzerinde barındırır. Bu makalede, Form özelliklerini, olaylarını, formlar arası iletişimi ve özel diyalog kutuları oluşturmayı ele alacağız.
Form Nedir?
Form, Windows Forms uygulamalarında bir pencereyi temsil eden bir sınıftır. Kullanıcı arayüzünde gördüğümüz her pencere aslında bir Form nesnesidir. Formlar, uygulamamızın görsel bileşenlerini barındırır ve kullanıcıyla etkileşimini yönetir.
Form Özellikleri
Formların birçok özelliği vardır. Bu özellikler,
formun görünümünü ve davranışını kontrol etmemizi sağlar. İşte bazı önemli Form
özellikleri:
- Boyut ve Konum:
- Width:
Formun genişliği.
- Height:
Formun yüksekliği.
- Size:
Formun genişlik ve yüksekliğini temsil eden Size yapısı.
- Location:
Formun ekran üzerindeki konumunu temsil eden Point yapısı.
- StartPosition:
Formun ekranda hangi konumda açılacağını belirler (örneğin, CenterScreen,
WindowsDefaultLocation).
- Kenarlık ve Durum:
- FormBorderStyle:
Formun kenarlık stilini belirler (örneğin, None, FixedSingle,
FixedDialog, Sizable, Maximized, Minimized).
- WindowState:
Formun durumunu belirler (örneğin, Normal, Maximized, Minimized).
- TopMost:
Formun diğer pencerelerin üzerinde olup olmayacağını belirler.
- ShowInTaskbar:
Formun görev çubuğunda görünüp görünmeyeceğini belirler.
- Görünüm:
- BackColor:
Formun arka plan rengi.
- ForeColor:
Formun ön plan (metin) rengi.
- Font:
Formun metinlerinin yazıtipi.
- Text:
Formun başlık çubuğunda görünen metin.
- Icon:
Formun simgesi.
- TransparencyKey:
Formun hangi renginin şeffaf olacağını belirler.
- Opacity:
Formun şeffaflık düzeyini ayarlar (0 ile 1 arasında bir değer alır).
- Diğer:
- AutoScroll:
Formun içeriği boyutundan büyükse kaydırma çubuklarının görünüp
görünmeyeceğini belirler.
- MaximizeBox:
Formun büyütme düğmesinin görünüp görünmeyeceğini belirler.
- MinimizeBox:
Formun küçültme düğmesinin görünüp görünmeyeceğini belirler.
- ControlBox: Formun kontrol kutusunun (küçültme, büyütme, kapat düğmeleri) görünüp görünmeyeceğini belirler.
Örnek Kullanım:
// Bilgisayar ekranının boyutlarını alma
int ekranGenisligi = SystemInformation.PrimaryMonitorSize.Width;
int ekranYuksekligi = SystemInformation.PrimaryMonitorSize.Height;
// Form özelliklerini ayarlama
this.FormBorderStyle = FormBorderStyle.None; // Kenarlık yok
this.WindowState = FormWindowState.Maximized; // Formu tam ekran yap
this.TopMost = true; // Formu her zaman üstte tut
this.ShowInTaskbar = false; // Formu görev çubuğunda gösterme
// Şeffaf arka plan
this.BackColor = Color.Fuchsia; // Şeffaf renk olarak kullanılacak rengi belirle
this.TransparencyKey = Color.Fuchsia; // Belirtilen rengi şeffaf yap
this.AutoScroll = true; // İçerik taşarsa kaydırma çubuklarını göster
Form Olayları
Formların birçok olayı vardır. Bu olaylar, formun
yaşam döngüsü ve kullanıcı etkileşimleri sırasında meydana gelir. İşte bazı
önemli Form olayları:
- Load: Form ilk yüklendiğinde meydana gelir.
- Shown: Form ekranda göründükten sonra meydana
gelir.
- FormClosing: Form kapatılmadan önce meydana
gelir. Bu olayda formun kapatılmasını iptal edebiliriz.
- FormClosed: Form kapatıldıktan sonra meydana
gelir.
- Resize: Formun boyutu değiştiğinde meydana gelir.
- Move: Formun konumu değiştiğinde meydana gelir.
- Click, DoubleClick, MouseDown, MouseUp,
MouseMove: Fare olayları.
- KeyPress, KeyDown, KeyUp: Klavye olayları.
Formlar Arası İletişim
Bir uygulamada birden fazla form olabilir. Bu formlar
arasında veri alışverişi yapmak gerekebilir. İşte formlar arası iletişimi
sağlamanın bazı yolları:
- Ortak Kontrole Erişim: Bir formdan başka bir formdaki bir kontrole
(örneğin, TextBox) erişmek için, hedef kontrolün erişim seviyesinin uygun
olması gerekir (örneğin, public veya protected internal).
// A formundan B formunun içindeki textBox1 kontrolüne erişim (textBox1, B formunda protected internal olmalı) if (Application.OpenForms["Form1"] is Form1 form1) { form1.textBox1.Text = "Merhaba B Formundan"; }
- Ortak Değişkene Erişim: Bir formdan başka bir formdaki bir değişkene
erişmek için, değişkenin public static olarak tanımlanması gerekir.
// A formundan B formundaki degisken değişkenine erişim (degisken, B formunda public static olmalı) Form1.degisken = 10;
- Veri Gönderme ve Alma: Bir formdan başka bir forma veri göndermek için,
hedef formun kurucusuna (constructor) parametre ekleyebiliriz.
// A formundan B formuna veri gönderme int gonderilecekVeri = 5; Form2 frm = new Form2(gonderilecekVeri); // Form2'yi parametre ile aç frm.Show(); // B formu (Form2) int alinanVeri; public Form2(int _alinanVeri) // Kurucu metot { InitializeComponent(); alinanVeri = _alinanVeri; // Alınan veriyi değişkene ata }
Alt Form Oluşturma
Bir formu başka bir formun içinde alt form olarak
göstermek için ShowDialog() metodunu kullanabiliriz. ShowDialog() metodu, formu
bir diyalog kutusu gibi açar ve kullanıcının bu formu kapatmadan ana forma
dönmesini engeller.
private void AltFormAc(Form gelenFrm, string baslik)
{
gelenFrm.Text = baslik; // Formun başlığını ayarla
gelenFrm.StartPosition = FormStartPosition.CenterScreen; // Formu ekranın ortasında aç
gelenFrm.MaximizeBox = false; // Büyütme düğmesini gizle
gelenFrm.MinimizeBox = false; // Küçültme düğmesini gizle
gelenFrm.FormBorderStyle = FormBorderStyle.FixedSingle; // Boyutlandırılamaz kenarlık
gelenFrm.Icon = this.Icon; // Ana formun simgesini kullan
gelenFrm.ShowDialog(this); // Formu diyalog olarak aç
}
// Örnek kullanım
Form2 frm2 = new Form2(10);
AltFormAc(frm2, "Alt Form");
Özel Diyalog Kutusu
Oluşturma
Kendi özel diyalog kutularımızı da oluşturabiliriz.
Bunun için bir Form tasarlayıp, bu Formun DialogResult özelliğini ayarlayarak
ve ShowDialog() metoduyla açarak diyalog kutusu gibi davranmasını
sağlayabiliriz.
Diyalog Formu
(ConfirmationForm):
private void buttonOK_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK; // Tamam butonuna tıklandığında DialogResult'ı OK olarak ayarla
Close(); // Formu kapat
}
private void buttonCancel_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel; // İptal butonuna tıklandığında DialogResult'ı Cancel olarak ayarla
Close();
}
Ana Form:
ConfirmationForm frmCon = new ConfirmationForm(); // Diyalog formunu oluştur
if (frmCon.ShowDialog(this) == DialogResult.OK) // Diyalog formu OK ile kapatıldıysa
{
// Kullanıcı Tamam'a tıkladıysa yapılacak işlemler
MessageBox.Show("İşlem Onaylandı!");
}
else
{
// Kullanıcı İptal'e tıkladıysa yapılacak işlemler
MessageBox.Show("İşlem İptal Edildi!");
}
Evet sevgili Webkolog.net okurları, bu yazımızda C# .NET Framework 4 ile Form kullanımını ve formlar arası etkileşimi kapsamlı bir şekilde ele aldık. Formlar, Windows Forms uygulamalarının temel yapı taşıdır ve kullanıcı arayüzünü oluşturmak için vazgeçilmezdir. Bu makalede ele aldığımız konular, formların özelliklerini, olaylarını, formlar arası iletişimi ve özel diyalog kutuları oluşturmayı içermektedir. Umarım bu bilgiler, C# .NET Framework 4 ile form tabanlı uygulamalar geliştirirken size yardımcı olur. Bir sonraki yazımda, C# dilinin diğer önemli yapı taşlarını keşfetmeye devam edeceğiz.
Webkolog'u takipte kalın!
Hepinize bol kodlu günler dilerim!
0 yorum:
Yorum Gönder