Form Uygulamaları

Form Uygulamaları

Formlar kullanıcılarla etkileşimi sağlayan Windows işletim sisteminden bildiğimiz ‘Pencereler’ ‘dir. Form üzerinde ayrı bir form tercih etmek istediğimizde kullanmamız gereken çeşitli kodlar bulunur. Bu kodları bulmak için öncelikle bir form oluştırmanız gerekir.

Visual Studio’da proje içerisinde yeni form oluşturmak

Form açmanın bir kaç farklı yöntemi vardır biz bunlardan iki tanesini öğrenelim. Bu yöntemlerden ilki Solution Explorer’den

windows_form_ekleme_yontemi_1

ikincisiyse Project menüsünden.

windows_form_ekleme_yontemi_2

Her iki yöntem de geleceğiniz ortak ve son aşama ise aşağıdaki görüntüdür.

windows_form_ekleme

Form uygulamalarımızda birden çok form ekledikten sonra şunu bilmemiz gerekir. Eklediğimiz form bir sınıf olarak eklendiğinden sınıf içerisinden bir nesne türetilmek zorundadır. Bu sayede bu nesneyi bir button gibi kullanarak özelliklerini kullanabiliyoruz.

Nesne türetmek için her zaman kullandığımız operatör new operatörüdür.


// FormName formadi = new FormName()
// Projedeki bulunduğumuz form adı (FormName özelliği) Form1 olduğunu düşünüğümüzde
Form1 FRM1 = new Form1();

Bulunduğumuz Form ekranını kapatma veya gizleme


// Bulunduğumuz formu kod ile kapatma
FRM1.Close();
// Bulunduğumuz kodun görünürlüğünü gizlemek
FRM1.Visible = false; // veya this.Visible = false;

Bulunduğumuz formdan başka bir forma geçmek


// Geçiş yapacağımız form2 olsun.
/*
ALGORİTMA 1.BULUNDUĞUN FORMUN GÖRÜNÜRLÜĞÜNÜ GİZLE 2. GEÇİŞ YAPACAĞIN FORMA GEÇ
*/
this.Visible= false;
Form2 FRM2 = new Form2();
FRM2.Show(); // veya FRM2.ShowDialog(); Bu kullanım diyalog kutusu ile gösterir. Diğeri ile farkı bu kullanımda diğer formların kitlenerek yalnızca aktif formun kullanabilmemesidir.

Başlangıç Formunu değiştirmek

c_sharp_acilis_formunu_degistirme

Form kapatılınca “Form kapatılsın mı?” diyalog penceresi oluşturmak


DialogResult s;
s = MessageBox.Show("Form kapatılsın mı?", "Kapatma İşlemi", MessageBoxButtons.YesNo);
if (s == DialogResult.Yes) e.Cancel = false;
else e.Cancel = true;

Herhangi bir tuşa basarak formu kapatma

Örneğin F10’a basarak programı kapatmak istediğimizi düşündüğümüzde;


if ((e.KeyCode == Keys.F10))
{
Application.Exit();
}
else MessageBox.Show("Kapatmak icin CTRL + F10 tuşuna basınız");

Form Özellikleri

  • Acceptbutton: Herhangi bir form aktif iken aktif tuşu oluşturmanızı yarar. Çoğunlukla Enter Tuşudur. Örneğin Enter tuşu buna örnektir. Entere bastığızda gelen işlem bir Acceptbutton Form özelliğidir.
  • Cancelbutton: Deaktif tuşu oluşturmanıza yarar. Çoğunlukla Esc tuşu atanır.
  • Opacity: Opaklık ayarı.
  • Startposition: Formumuz açıldığı zaman hangi posizyonda (sol en alt köşe, sol köşeye yaslı, sağ taraf vb..) ayarları yapabildiğimiz özellik.
  • TopMost: Formumuzu tüm pencelerin önünde göstermeye yarayan özellik.
  • Minimumstyle, Maximumstyle, borderFormun tasarımsal özelliklerini ayarlayabileceğimiz özellikleri.

Form olayları

  • Click: Form üzerinde tıklandığı zaman meydana gelecek olay.
  • Cloasing: Form kapanmadan hemen önce gerçekleşecek olay.
  • Form_Load: Form yüklenince gerçekleşecek olaylar.

Form Methodları

  • Show: Formu göstermeye yarar.
  • Hide: Formu gizler. Visible görünümünü kapatmayla aynı işlevi görür.
  • Close:Formu kapatır.

Basit bir form örneği:

visual_studio_basit_birformornegi

İndir

C# Form Uygulamaları

C# Form Uygulamaları (Nesne Tabanlı Programlamanın Görsel Kısmı)

Windows tabanlı uygulamaların temelidne formlar vardır. Yani bunu biraz daha kaba tutarsak Formlara pencereler diyebiliriz. Her bir kontrol metodunun bir olayı ve özelliği bulunur. Bu özellikler içerisinde yapı kontrolünün görünümü, yerleşimi, olay kontrol ve değerlerinden bahsetmekdeyiz. Nesneye ait properties(özellikler) panelinden istersek kod yamza aşamasında nesneye ait özellikleri de değiştirebiliyoruz. Normal bu tarz biçimsel ve benzer uygulamaları gerçekleştirmek görsel olmadan kodla mevcuttur.

Buttona ait özellikler penceresi:

gorsel_programlama_c_sharp_giris

Checkboxa ait özellikler penceresi:

gorsel_programlama_c_sharp_giris_checkbox_propertios

Bir çok nesnenin özellikleri birbiri ile benzelrik gösterebilir yalnız her nesnenin kendine ait özelllikleri bulunur. Bu görsel kısım değil yalnızca kod kısmında da benzerlik gösterilebilir. Örneğin label yani etiketin text değerini almak için Label1.Text diyebileceğimiz gibi Textbox için de Textbox1.Text diyebiliriz.

C# Form Uygulamaları nasıl çalışır?

Görsel programlama yani C# form uygulamalarında .NET platformu sayesinde çalışırlar. Görsel programlara ait her bir nesne .NET platformu içerisinde tanımlanmıştır. Bu nedenle programcı yeni bir nesne türetmek yerine hazır sınıfları kullanarak yazılım geliştirir. Bundan önce C# Console Application (Konsol uygulamaları) yazdık. Bu uygulamalar içerisinde method tanımlamayı da görmüştük. Bu C# Konsol uygulamalar ile görsel programlama karşılaştırıldığnda görsel programlamanın programlamanın sıkıntı düşürmediği yalnızca araç kutusu (toolbar) üzerinden alt sınıfların methodlarını çağırarak programa aktardığını görücez.

C# Görsel Programlamaya başlarken dikkat edilmesi gereken kurallar

  • Her nesneye ait name ozelliği özgün olmalıdır. Form içerisinde aynı name özelliğine sahip nesne bulunamaz. Bu kurallar method ve değişkenlerde de geçerlidir.
  • Nesne isimlerine mantıklı isimler vermek programcının hızını artıracak ve kafasını kurcalamayacaktır.
  • Tasarım aşaması ilk aşamada yapılmalıdır. Tasarım aşamasında değişken isimler, tasarım arkaplanları ve diğer dizayn aşamaları bulunur.

En çok kullanılan C# Görsel Programalama kontrolleri:

Visible: İki değeri bulunmaktadır. Bunlar True ve False değerleridir. True değeri nesnenin görünmesini sağlarken, False değeri nesneyi görünmez yapar.

Kullanımı:

button1.Visible = true; // şuan butonumuz görünümü açık-görünür
button1.Visible = false; // şuan butonumuzun görünümü kapalı-görünmez

 

Text:

Nesne üzerindeki metni verir. Örneğin form uygulamamız içerisinde bir button var. Bu buttonun üzerinde Gönder yazıyorsa text özelliği bize “Gönder” metnini verir.

Kullanımı:

MessageBox.Show(button1.Text); // Şu anda uyarı penceresi içerisinde button1'in metnini yazdırdık.

Backcolor Arkaplan anlamına gelmektedir. Nesnenin-metnin arkaplanını belirlermeye yarar.
Kullanımı:

button1.BackColor = Color.Blue; // Metnin içerisindeki dolguyu mavi yaptık.

Forecolor: Önplan demektir. Nesne içerisindeki veya nesnenin kendisindeki metin rengini belirler.
Kullanımı:

button1.ForeColor = Color.Blue; // buttonun içerisindeki metni mavi yaptık.

Color:
Color bir sınıftır. Bu sınıfı kullanmak için programımızın en üst kısmında Using System.Drawing; uzay alanını kullanacağınızı belirtmeniz gerekir.

Olaylar

Bringtofront -> en üst
Sentoback -> en alt
Hide -> gizle
Show – göster

Buttona tıklanıldığında çalışması gereken bir takım belirtilen özellikler varsa bunları yapacağız. Mouse ile tuşuna basıldığında / bırakıldığında / enter girildiğinde / çıkıldığında buna benzer birbirinden farklı kullanıcının meydana getirebileceği veya meydana getirilebilecek olaylar hangi kod çalışacaksa o olaya ilişkin kodları yazmamız gerekebilecek.