C# öğrenmek 102: Form Application
C# öğrenirken en çok kullanacağımız yapı, Form App’dir. Bize sağladığı bileşenler (components) önemlidir.
Bu yazıya geldiyseniz eğer, zâten Form App açmayı biliyorsunuzdur. Ama zâten Visual Studio’yu indirdikten sonra, Windows Form App’i seçip, Next’e basıp oluşturun.
Bir form örneği görelim:
Şimdi en önemli menüleri göreceğiz:
- Araçlar (Toolbox): Bileşenleri barındırır. UI Componentları (Görünüm Bileşenleri), formumuza sürekleyip koyarız. Ve Özellikler penceresinden değiştiririz. Kabaca en güzel anlatım budur. Haricî kütüphaneleri de buraya ekler ve erişirsiniz.
- Özellikler (Properties): Bu pencere’de, form ayarlarını ve eklediğimiz bileşenlerin özelliklerini değiştirebiliyoruz.
- Çözüm Gezgini (Solution Explorer): Proje dosyalarını buradan görürüz. Siler, taşır, oluşturur ve yeniden adlandırırız. Proje de kullanılan haricî kütüphaneleri de buradan yönetir ve entegre ederiz.
Ayrıca, bu Form’un kod bölümü var. Bir button’a üstüne sağ tık yapınca, “kod’a git”, “kodu görüntüle” yazar, ona basınız. Veyahût 2 kere tıklayıp, direkt o bileşenin kod bölümüne gider.
Sınıf Yaratmak
Form’a yazı yazdırmak
Form’a, button ve label ekliyoruz. Sonra button’a çift basıp ona atanan button1_Click fonksiyonuna kodumuzu yazıyoruz.
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "Merhaba dünya!";
}
Basınca, label1 yazısı değişecektir.
Özellikler (properties) kutusu
- Name: Nesnenin adı (örneğin,
button1
,label1
). - Text: Nesne üzerinde görünen metin (örneğin, “Tıkla”).
- BackColor: Arka plan rengi.
- ForeColor: Metin rengi.
- Font: Yazı tipi ve boyutu.
- Enabled: Nesnenin etkin olup olmadığını belirler (
true/false
). - Visible: Nesnenin görünürlüğünü kontrol eder (
true/false
). - Location: Nesnenin form üzerindeki konumu (x, y koordinatları).
- Size: Nesnenin genişlik ve yüksekliği (Width, Height).
- Dock: Nesnenin form üzerindeki kenarlara sabitlenmesini sağlar.
- Anchor: Nesnenin form yeniden boyutlandırıldığında nasıl davranacağını belirler.
- TabIndex: Tab tuşu sırasını belirler.
- TabStop: Tab tuşuyla seçilebilir olup olmadığını belirler.
- Enabled: Etkinlik durumu.
- Cursor: Fare imlecinin nasıl görüneceğini ayarlar (örneğin, el, ok).
- Modifiers: Nesnenin erişim düzeyini belirler (örneğin,
private
,public
). - GenerateMember: Kodda bu nesne için bir üye değişken oluşturulup oluşturulmayacağını belirler.
- Click: Nesneye tıklandığında tetiklenen olay.
- MouseEnter: Fare nesnenin üzerine geldiğinde tetiklenen olay.
- KeyPress: Klavyeden bir tuşa basıldığında tetiklenen olay.
- Load: Form yüklendiğinde tetiklenen olay.
Toolbox (Araçlar) kutusu
- Button: Tıklanabilir bir buton.
- Label: Metin göstermek için kullanılan bir kontrol.
- TextBox: Kullanıcının metin girişi yapması için kullanılan alan.
- CheckBox: İşaretlenebilir kutu.
- RadioButton: Kullanıcının birden fazla seçenek arasından yalnızca birini seçmesini sağlar.
- ComboBox: Açılır liste kontrolü.
- ListBox: Liste öğelerini göstermek için kullanılır.
- PictureBox: Resim göstermek için kullanılan kontrol.
- ProgressBar: İşlemin ilerleme durumunu göstermek için kullanılan kontrol.
- ToolTip: Bileşenler için bilgi balonları gösterir.
- Panel: Bileşenleri bir alan içinde gruplar.
- GroupBox: Bir grup bileşeni bir arada tutar ve başlık ekler.
- TabControl: Sekmeli arayüz oluşturmak için kullanılır.
- FlowLayoutPanel: Dinamik düzenlemeler için akış düzeni sağlar.
- TableLayoutPanel: Hücresel bir düzen sağlar.
- SplitContainer: İki bölmeye ayrılmış alan oluşturur.
- MenuStrip: Menü çubuğu oluşturur.
- ToolStrip: Araç çubuğu oluşturur.
- ContextMenuStrip: Sağ tıklama menüsü oluşturur.
- StatusStrip: Durum çubuğu ekler.
- DataGridView: Tablo verilerini göstermek için kullanılan kontrol.
- BindingSource: Veri bağlama kontrolü.
- BindingNavigator: Veri gezintisi yapmak için araç çubuğu.
- Chart: Grafik ve veri görselleştirme kontrolü.
- Timer: Belirli zaman aralıklarında işlemleri çalıştırır.
- BackgroundWorker: Arka plan işlemleri için kullanılır.
- ImageList: Resimlerin listesini depolar.
- ErrorProvider: Form doğrulama hatalarını göstermek için kullanılır.
- ToolTip: Araç ipuçları sağlar.
- PrintDocument: Yazdırılacak belgeyi temsil eder.
- PrintDialog: Yazdırma iletişim kutusunu gösterir.
- PageSetupDialog: Sayfa ayarlarını yapmak için iletişim kutusu.
- PrintPreviewDialog: Yazdırma önizleme penceresi.
- OpenFileDialog: Dosya açma iletişim kutusu.
- SaveFileDialog: Dosya kaydetme iletişim kutusu.
- FolderBrowserDialog: Klasör seçimi için iletişim kutusu.
- FontDialog: Yazı tipi seçmek için iletişim kutusu.
- ColorDialog: Renk seçmek için iletişim kutusu.
- ElementHost: WPF bileşenlerini Windows Forms uygulamalarında barındırır.
- WebBrowser: Web sayfalarını gömülü olarak göstermek için.
- MediaPlayer: Multimedya oynatma bileşeni.
- MaskedTextBox: Özel formatlı metin girişleri.
Bunlar en temeliydi.
Gelin sizle bir inputtan veri alıp, toplama uygulaması yapalım:
Bize lâzım olan şeyler: label1, textBox1, textBox2.
Kodumuzu yazalım:
double sayi1 = Convert.ToDouble(textBox1.Text);
double sayi2 = Convert.ToDouble(textBox2.Text);
double toplam = sayi1 + sayi2
label1.Text = "Sonuç: " + toplam;
Şimdi gelin, bir şeyin üstüne gelince uyarı veren bir kod yazalım:
Özellikler Penceresine gelelim, MouseEnter‘e basıp önümüze gelen kod ekranına şunu yazalım:
private void label2_MouseHover(object sender, EventArgs e) {
MessageBox.Show("Bu bir uyarı kutusudur!", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
Öneriler
Kaynak alıştırması yapın, Youtube’den izleyin, bir konu belirleyin ve onun hakkında araştırma yapıp devam edin. Ama önce C# ile ilgili temel bilgileri edinip yapın.
Sonra projeleri inceleyin, eğer hazır kod alıyor iseniz o kodu okuyun anlamaya çalışın ve içeriğinde ufak değişiklikler yapın.
Bu konu da Engin Demiroğ izlenecek bir yazılımcıdır. Videoların Youtube veyahût BTK Akademi’den bulabilirsiniz.