C# Windows Form

C # Windows Form

  • Windows Forms Solution

    Windows Forms Solution

    Windows Formda Solution’larla yani pencerelerle çalışmaya başlıyoruz. Öncelikle 1 tane form uy...

  • Windows Form Olusturma

    Windows Form Olusturma

    Windows Form Application aslında arkada bir Console uygulaması dahilinde çalışır.  Yani biz normalde...

  • C# Event’ler

    C# Event’ler

    Event’lere yani metotlara form uygulamamızda eklediğimiz toolbox nesnesini seçip properties...

C# Event’ler

Event’lere yani metotlara form uygulamamızda eklediğimiz toolbox nesnesini seçip properties’den events sekmesini tıklayarak ulaşılabilir. Eklenilen toolbox nesnesinin en sık kullanılan events’i seçili gelir.

En yaygın eventler şunlardır;

TextChanged = Textbox’ın text’i her değiştiği zaman bu metot çalışır. yani örnekle anlatmak istersek aşağıdaki yapılan kod satırlarında, textChanged eventi ile textboxın textine yazılan herşey otomatik olarak label’ın text’indede gözükür.

private void textBox1_TextChanged(object sender, EventArgs e)
{
label1.Text = textBox1.Text;
}

FormClosing= Bu event ile yapılan uygulama kapatılacağı zaman yani X butonuna basıldığı zaman kodlar çalışır ve bir dialog result sonucu döndürür bir messageBox penceresi içerisinde bize belli seçenekleri sunar. Aşağıdaki örnekle anlatmak istersek. MessageBox ile ekrana gelen diolog penceresinin içinde yazmasını istediğimiz metinleri yazdık ve penceremizin adının ÇIKIŞ olarak belirttik, butonlarımızı YesNo olarak ayarladık ve gösterilecek iconumuzu Question yani soru iconu seçtik, Yes seçildiği taktirde uygulamız kapanacak No seçildiği zaman if bloğundaki kodlar çalışacak. Oradada cancel diyerek kapatmayı engellemiş olacak.

 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult sonuc=MessageBox.Show("Uygulama Kapatılıyor Emin misiniz?", "ÇIKIŞ", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if(sonuc==DialogResult.No)
{
e.Cancel = true;
} 

 FormClosed= Bu event çoğu zaman FormClosing ile karıştırılmaktadır. FormClosed eventi ile uygulamamız kapandığı zaman kodlar çalışır, FormClosing eventi ile ise uygulamamız kapanmadan içindeki kodlar çalışır. Örnekle FormClosed eventini inceleyeceğiz. Aşağıdaki örnekde uygulamada X butonuna bastıktan sonra ekranda bir messageBox göstermek istediğimiz için uygulamayı kapattıktan sonra aşağıdaki kodlar çalışacaktır.

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
string mesaj= string.Format("Uygulama Kapanmıştır.");
MessageBox.Show(mesaj);
}

Mouse Eventleri

1)MouseClick(): Mouse ile toolbox nesnesine 1 kez tıklandığında metod çalışır.

2)MouseDoubleClick():Mouse ile toolbox nesnesine 2 kez tıklandığında metod çalışır.

3)MouseDown(): Mouse ile toolbox nesnesine 1 kez tıklandığında metod çalışır. MouseClick metodundan önce çalışır.

4)MouseEnter():Mouse ile belli bir Toolbox nesnesinin üzerinden geçildiğinde, metodun içindeki kodlar çalışır, hassasiyeti yüksektir.

5)MouseHover():MouseEnterla mantık olarak aynı işlemleri yapsada tek farkı MouseHover’ın hassasiyeti düşüktür yani MouseHover metodunun çalışması için toolbox nesnesinin üzerinde mouse’un hareket etmesi lazım

6)MouseLeave():Mouse ile toolbox nesnesinin üzerinden ayrıldığında metodun içindeki kodlar çalışır.

7)MouseMove():Mouse ile toolbox nesnesinin üzerinde hareket etmesiyle metodun içindeki kodlar çalışır.

8)MouseUp():Mouse ile toolbox nesnesine basılıp çekildiği zaman metodun içindeki kodlar çalışır.

 

Keyboard Eventleri

1)KeyPress():Klavyeden toolbox nesnesine fonksiyon tuşları haricinde bir tuşa basıldı zaman metodun içindeki kodlar çalışır.

2)KeyUp():Klavyeden belirli toolbox nesnesinde bir tuşa basıp çekildiği zaman metodun içindeki kodlar çalışır.

3)KeyDown():Klavyeden belirli toolbox nesnesinde bir tuşa basılınca metodun içindeki kodlar çalışır.

 

Windows Forms Solution

Windows Formda Solution’larla yani pencerelerle çalışmaya başlıyoruz. Öncelikle 1 tane form uygulaması açıyoruz nasıl açıldığını bir önceki konuda anlatmıştık. Öncelikle Visual Studiodaki kullanacağımız  pencerelerden bahsedelim;
Solution Explorer Penceresi: Bu Pencerede yaptığımız çalışmalar görüntülenir. Açtığımız uygulamalar, eklediğimiz referenceler ve uygulamaların diğer dosyaları bu pencere altında bulunur.
Toolbox Penceresi: Bu pencere ile uygulamamızda kullanacağımız nesneleri eklemek için kullanılır. Hazır kontrolleri bu pencere sayesinde kolayca yapabiliriz. Bu pencere Form uygulamamızın Design kısmında aktifleşir.
Properties Penceresi: Form uygulamamıza eklediğimiz Toolbox nesnelerinin kontrollerini bu pencerede yapabiliriz. Ayrıca tüm uygulamamızın özellikleri bu pencerede görünmektedir. Toolbox nesnelerini Form uygulamamıza ekledikten sonra eklediğimiz Toollbox nenesine tıklayıp Properties alanını açıp Yan sekmelerinden Events seçeneğine tıklayarak çıkan listede kullanmak istediğimiz metoda tıklayarak o toolbox nesnesi ile ilgili bir olay oluşturabiliriz. Aşağıda bazı events metotlarını kullanarak örnek yapacağız.

Properties penceresi ile Form uygulamamıza eklediğimiz bir toolbox nesnesinin Örneğin eklediğimiz butona tıklayıp properties penceresinden butonun yerini sabitlemek için Dock ayarımıza tıklayıp belirli seçenekleri seçebiliriz.

Dock

Yine properties penceresinden butonumuzun yerinin sabit kalması için Anchor  ayarımıza tıklayıp sağ, sol, üst, alt seçeneklerinden birisini veya birilerini seçebiliriz.

Anchor

Properties penceresinden Events sekmesine gelerek butonumuzun mouse enter metoduna çift tıklayarak gelen kod alanına mouse ile butonun üzerine gelince ne yapacağını kod satırlarına yazabiliriz. Yine aynı şekilde mouse leave metodu ile de butonun üzerinden mouse’u çektiğimizde çalışacak kodları çift tıklayarak çalışacak kodları yazabiliriz. mouse hover metodu ile mouse üzerine geldiği zaman gerçekleşir, mouse enter ile aynı işlemi yapar yalnız mouse enter daha hassastır.

Örnek

{private void Form1_Load(object sender, EventArgs e)
{
//buton1 tıklandığı anda bu metot çalışır.
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Merhaba Ziyaretçi...");
}
private void button1_MouseEnter(object sender, EventArgs e)
{
//button1'in Textini (üzerindeki yazıyı değiştirdik.)
button1.Text = "Geldin";
//button1'in arkaplan rengini siyah yaptık.
button1.BackColor = Color.Black;
//button1'in yazı rengini beyaz yaptık.
button1.ForeColor = Color.White;
}
private void button1_MouseLeave(object sender, EventArgs e)
{
button1.Text = "Çıktın";
button1.BackColor = Color.Bisque;
button1.ForeColor = Color.Violet;
}

Windows Form Olusturma

Windows Form Application aslında arkada bir Console uygulaması dahilinde çalışır.  Yani biz normalde Visual Studio üzerinden File —> New —> Project —>Windows Forms Application seçerek Form uygulamamızı başlatıyoruz ama bu form uygulamamızın nasıl çalıştığı konusunda bilgimiz olması açısından 1 örnekle açıklığa kavuşturuyoruz.
Aşağıdaki örnekle daha iyi anlaşılacağını umuyorum.

static void Main(string[] args)
{
//Proje içerisinde References'a sağ tıklayıp System.Windows.Forms'u referans olarak ekliyoruz.
//Yeni Bir console application açıyoruz ve main metodu içerisinde yeni bir form çalıştırmasını söylüyoruz.
//References kısmından --> Add Reference kısmından Framework içinde System Windows Forms'u referencelarımıza ekleyip Windows formu system sınıfına ekleriz.
//Yeni bir Form oluşturulur Aşağıdaki kod ile.
Application.Run(new Form());

//Form ekranımızı kapattığımızda Console ekranımızda aşağıdaki mesaj görüntülenir.
Console.WriteLine("Form Penceresi Kapatıldı.");
Console.ReadKey();

}