10
HSancak Nesne Tabanlı Programlama I Ders Notları Visual C# .NET İle Windows Tabanlı Programlama Windows tabanlı uygulamalar, Windows işletim sistemi üzerinde çalışan uygulamalardır. Windows uygulamaları Windows formları ve kontrollerinden oluşur. Visual Studio bu formların ve üzerindeki kontrollerin tasarımını, kodların yazılımını büyük ölçüde kolaylaştırarak uygulama geliştirme sürecini daha hızlı ve kolay hale getirir. İlk Windows Uygulaması FileNewProject New Project ekranından Visual C# “Windows Form Aplication” seçilir ve uygulamaya isim verilerek OK tuşuna basılır.

HSancak Nesne Tabanlı Programlama I Ders Notları Visual C# .NET

  • Upload
    trannga

  • View
    284

  • Download
    5

Embed Size (px)

Citation preview

Page 1: HSancak Nesne Tabanlı Programlama I Ders Notları Visual C# .NET

HSancak Nesne Tabanlı Programlama I Ders Notları

Visual C# .NET İle Windows Tabanlı Programlama

Windows tabanlı uygulamalar, Windows işletim sistemi üzerinde çalışan uygulamalardır. Windows uygulamaları Windows formları ve kontrollerinden oluşur. Visual Studio bu formların ve üzerindeki kontrollerin tasarımını, kodların yazılımını büyük ölçüde kolaylaştırarak uygulama geliştirme sürecini daha hızlı ve kolay hale getirir.

İlk Windows Uygulaması

FileNewProject

New Project ekranından Visual C# “Windows Form Aplication” seçilir ve uygulamaya isim verilerek OK tuşuna basılır.

Page 2: HSancak Nesne Tabanlı Programlama I Ders Notları Visual C# .NET

HSancak Nesne Tabanlı Programlama I Ders Notları

Açılan uygulama ekranında Toolbox Panelinden Button nesnesi sürükle bırak yöntemiyle ya da çift tıklayarak Form üzerine eklenir.

Button1 nesnesinin üzerine gelinerek çift tıklanır ve kod ekranına geçilir.

button1_click olayına MessageBox.Show("Merhaba Dünya"); komutu yazılır ve uygulama çalıştırılır.

Ekran Çıktısı Butona tıklayınca

mesaj kutusunda

Merhaba Dünya

yazar

Page 3: HSancak Nesne Tabanlı Programlama I Ders Notları Visual C# .NET

HSancak Nesne Tabanlı Programlama I Ders Notları

.NET Kontrolleri üç temel kavramdan oluşur.

Özellikler Metotlar Olaylar

Özellikler

Özellikler, kontrollerin görünümü, yerleşimi veya davranışlarına özel niteliklerdir. Örneğin bir Button kontrolünün Text özelliği, üzerinde yazan yazıya erişmemizi sağlar.

Kontrollerin özellikleri, tasarım anında Properties panelinden ulaşılabileceği gibi, kod tarafında da okunup değiştirilebilir.

Kontrollerin birçok özelliği hem okunabilir hem de değiştirilebilir. Ancak bazı özellikler salt okunur (ReadOnly) ve salt yazılır (WriteOnly ) olabilir. Bu tip özellikler Properties panelinde gözükmezler. Kontrollerin birçok ortak özellikleri vardır.

Text (Yazi) Kontrollerin Text özelliği, üzerinde görüntülenen yazıdır. Bu özellik çalışma anında sıkça okunup değiştirilerek, kullanıcıyla iletişim sağlanır. TextBox kontrolüne girilen bir değerin okunup Label kontrolüne yazılması için, kontrollerin Text özellikleri kullanılır.

Name ( İsim)

Name özelliği kontrollere ulaşmak için kullanılan özelliktir. Birçok kontrolün Text özelliği aynı olabilir. Ancak her biri ayrı birer nesne oldukları için, Name özellikleri benzersiz olması gerekir.

Size (Büyüklük) Kontroller in büyüklük özelliğidir. Height (yükseklik) ve Width (genişlik) özelliklerinden oluşur. Genellikle tasarım anında belirlenen bu özellik, çalışma anında da değiştirilebilir.

Page 4: HSancak Nesne Tabanlı Programlama I Ders Notları Visual C# .NET

HSancak Nesne Tabanlı Programlama I Ders Notları

BackColor (Arka plan rengi)

Kontrollerin arka plan renginin ayarlandığı özelliktir. Bu özelliğin değeri, Color (renk) nesnesinde tanımlı değerler ile belirlenir.

ForeColor (Önalan rengi) Kontrollerin üzerin deki yazıların rengini belirler.

Visible (Görünür)

Kontrollerin ekranda görünüp görünmediklerini belirleyen özelliktir. True ve False olmak üzere iki değer alabilir.

Kontrollerin yukarıdaki anlatılanlara benzer bir çok özellikleri vardır. Bu özellikler kontrollerin görünümü, yerleşimi veya davranışlarına ilişkin değerlerini belirlememize olanak tanırlar. Bu özellikler kod ekranında ayarlanabileceği gibi genellikle Properties panelinden ayarlanır.

Panelde özellikler kategorize edilerek sıralanmıştır ancak harf sırasına göre de ( ) sıralanabilir.

Panel üzerinden kontrollerin tüm olaylarına

(Events ) erişmekte mümkündür.

Page 5: HSancak Nesne Tabanlı Programlama I Ders Notları Visual C# .NET

HSancak Nesne Tabanlı Programlama I Ders Notları

Metotlar

Metotlar kontrollerin yaptığı işlemlerdir. Metotlar parametreyle veya parametresiz çağrılabilir. Parametreyle çağırmak, metodun girilen değere göre işlem yapacağını belirtir. Örneğin Focus (Odaklan) metodu, parametre beklemeden çalışır ve kontrolün seçilmesini sağlar.

Kontrollerin bazı ortak metotları vardır.

Select (Seç) Select met du Focus ile aynıdır ama TextBox kontrolünün Select metodunun diğerlerinden bir farkı daha vardır. TextBox içindeki yazıyı, verilen parametreler göre belli bir kısmını ya da hepsini seçer.

BringToFront (Öne Getir) Üst üste duran kontroller arasından en öne getirir.

SendToBack (Arkaya Gönder) Üst üste duran kontrollerin en arkasına gönderir.

Hide (Sakl a) Kontrolün gözükmesini engeller.

Show (Göster) Kontrolün gözükmesini sağlar.

Page 6: HSancak Nesne Tabanlı Programlama I Ders Notları Visual C# .NET

HSancak Nesne Tabanlı Programlama I Ders Notları

Olaylar

Olaylar kontrollerin başına gelen işlemlerdir. Olayların metotlardan farkı, bu işlemler kontrollerin elinde olmadan gerçekleşmesidir. Örneğin bir Button kontrolüne tıklanması, o kontrolün isteği dışında yapılmıştır. Bu olayın tetiklemesin de kontrolün bir rolü yoktu r. Bu olaylar gerçekleştiği zaman yapılması gereken işlemler, ilgili olayın yordamına yazılır. Button1 isimli kontrolün üzerine tıklandığı zaman gerçekleştirmek istenen eylemler button1_Click yordamına yazılır.

Visual Studio, olayların yordam isimlerini Kontrolİsmi_Olay İsmi olarak biçiminde yazar.

Kontroller ile çalışırken benzer olaylar kullanılır.

Click (Tıklandığında) Kontrol üzerine tıklandığı zaman tetiklenen olaydır. Windows tabanlı programlamada en sık kullanılan olaylardan biridir.

MouseDown (Mouse tuşu basıldığında) Fare, kontrolün üzerindeyken herhangi bir tuşuna basıldığı zaman gerçekleşen olaydır. Bu olay, Click olayından önce çalışır.

MouseUp (Mouse tuşu bırakıldığında) Fare, kontrolün üzerindeyken basılan tuş bırakıldığı zaman çalışır.

Enter (Girildiğinde ) Kontrol seçildiği veya üzerine odaklanıldığı zaman gerçekleşen olaydır.

Leave (Çıkıldığında) Başka bir kontrol seçilmek üzere çıkıldığında, bu kontrolün Leave olayı tetiklenir.

VisibleChanged ( Görünürlüğü değiştiğinde) Kontrolün görünüp görünmediğini belirten Visible özelliği değiştiği zaman tetiklenir.

Kontrollerin Eklenmesi

Windows tabanlı uygulamalar geliştirirken sıkça kullanacağımız bir grup kontrol vardır. Form kontrolü hariç diğer bütün kontroller Toolbox panelinden seçilir. Kontroller görevlerine göre gruplandırılmış halde görüntülenirler.

Bu kontroller sürüklenip Form üzerine istenilen pozisyona bırakılır.

Kontroller, ToolBox panelinde üzerine çift tıklayarak da eklenebilir.

Kontrollerin tasarım anında büyüklük eri, yerleri Size ve Location özellikleri ile değiştirilebileceği gibi, fare ile de istenilen şekilde ayarlanabilir.

Page 7: HSancak Nesne Tabanlı Programlama I Ders Notları Visual C# .NET

HSancak Nesne Tabanlı Programlama I Ders Notları

Windows Kontrolleri

Kontroller, kullanıcıların erişebileceği bilgiler ve seçeneklerdir. Kontroller mesela, etiket veya resim kutuları bilgi gösterebilir. Metin kutuları, liste kutuları, combo box’ lar hem bilgi gösterir hem de kullanıcının bilgi girişi yapabilmesini sağlar. Butonlar kullanıcının bir olayı (programı kapatmak gibi) gerçekleştirmesini sağlayabilir. Menüler ve araç çubukları ise, kullanıcıların uygulama içinde kullanabileceği komutları ihtiva eder. Menüler genellikle bir uygulama içindeki tüm formlar için ortak olan bir üst seviye komutları saklar, mesela “save” komutu yardımıyla bilgiler kaydedilip programdan çıkılabilir. Menü elemanları uygulamanın farklı noktalarındaki özelleştirme seçenekleri ile aktif veya pasif edilebilir.

Yazılan uygulamanın kullanıcı tarafından hızlı ve kolay öğrenilmesi, kullanıcıyı programı kullanma yönünde teşvik etmesi çok önemlidir. Uygulamanın düzeni konusunda başlıca faktörler şunlardır:

Basitlik Kontrollerin yeri Uyum-tutarlılık Estetik

Form

Formlar kullanıcı arabiriminin en temel elemanlarıdır. Formlar uygulama içindeki kontrolleri saklamakla görevlidir. Formlar bilgi sunabildikleri gibi, kullanıcıdan bilgi de alabilir. Windows uygulamaları en az bir adet form ihtiva eder. Karmaşık uygulamalarda ise birden fazla form kullanılır.

Formlar kullanıcı ile uygulama arasındaki etkileşimi sağlar. Yeni bir Windows uygulaması oluşturduğunuzda “form1” adında bir form varsayılan olarak uygulamanıza eklenir. Tasarım ekranındaki form1’e kontroller, menüler ve görsel öğeler eklenebilir. Bunun için tasarım ekranının sol tarafında yer alan ToolBox(araç kutusu) kullanılır.

Projeye yeni form eklemek: o Project menüsünden Add Windows Form’a tıklayınız. o Gelen Add New Item (yeni öğe ekle) ekranında Windows forms’u seçip OK’e

tıklayınız.

Page 8: HSancak Nesne Tabanlı Programlama I Ders Notları Visual C# .NET

HSancak Nesne Tabanlı Programlama I Ders Notları

Başlangıç Formu (Start-Up Form) Ayarı

Uygulamanız içinde birden fazla form mevcut ise bunlardan birini başlangıç formu olarak ayarlamalısınız. Başlangıç formu, uygulamanızın ilk çalıştığı anda karşınıza gelen formdur. Hangi formun başlangıçta ekrana gelmesini istiyorsanız, Main () metodu içinde o formun adını yazmalısınız.

Yukarıdaki program parçasında da görüldüğü gibi, uygulamanız içinde birden fazla form varsa ve bunlardan hangisi ilk olarak ekrana gelecekse, o formun adını Main()metodu içindeki Application.Run(new Form1()) satırında belirtiyoruz.

Proje Özellikleri kullanılarak ta başlangıç formu ayarlanabilir.

Formların Metotlarını (Fonksiyon) Kullanma Metotlar, diğer bir ifadeyle fonksiyonlar herhangi bir olayı gerçekleştirir. Uygulamanıza eklenen her form “System.Windows.Forms.Form” class’ından miras (inherit) alınmıştır. Kullanıcı ortamındaki formlara erişim ve formların gösterimi için çeşitli metotlar vardır. Bu metotları aşağıdaki gibi sıralayabiliriz:

o Form.Show : Bir formu görünür yapabilmek için formun “Form.Show” metodunu kullanmanız gerekir. Bu metot form class’ ının bir örneğini hafızaya yükler ve ekranda gösterir. Form.Show metodu çağrıldığında formun “visible” özelliği true (doğru) olarak ayarlanır.

o Form.ShowDialog : Hem Form.Show’un işini yapar hem de bir diyalog kutusu görüntüler. Diyalog kutusunun görüntülenmesi, kullanıcının programın geri kalan kısmına devam etmesi için mevcut formu kapatabilmesine imkân tanır.

Page 9: HSancak Nesne Tabanlı Programlama I Ders Notları Visual C# .NET

HSancak Nesne Tabanlı Programlama I Ders Notları

o Form.Activate : Uygulama çalıştırıldığında, Form.Activate metodu formu

ekranın en önüne (odak-focus) getirir. Kullanıcı arabirimindeki form aktif değilse (program görev çubuğunda ise), ilgili formun pencere başlığı yanıp sönerek (flash) kullanıcıyı uyarır.

o Form.Hide : Form.Hide metodu ilgili formu gizler. Bu form normalde hafızada bir yer işgal etmesine rağmen formun Form.Show metodunun değeri “true” yapılmadıkça form tekrar görünür olmaz.

o Form.Close : Herhangi bir formla ilgili işiniz bittiğinde formun Form.Close metodunu kullanarak bu formu kapatabilir ve hafızadan silebilirsiniz. Bu metot formla ilgili kullanılan tüm öğeleri Çöp Toplayıcısına (Garbage Collector) gönderir. Form.Close metodunu çağırdıktan sonra Form.Show metodunu kullanamazsınız. Çünkü formla ilgili tüm kaynaklar artık yoktur.

Form class’ı (sınıfı) içinde kod yazarken “this” anahtar sözcüğünü kullanarak formun mevcut örneğine gönderme yapabilirsiniz. Mesela, formunuzun “Text” özelliğini değiştirecek bir metot yazdığınızı farz ediniz. Bunun için aşağıdaki gibi bir code yazmanız gerekecektir.

// Bu satır mevcut formun “Text” özelliğini değiştirir.

this.Text= "Bu Aktif formdur";

Button

Bir Windows düğmesini temsil eder . Button kontrolüne basıldığında Click olayı tetiklenir. Bu olay gerçekleştiği zaman yapılacak işlemler, ButtonIsmi_ Click yordamında yazılır.

TextBox

Bir Windows metin kutusunu temsil eder. Kullanıcıların değer girerek program ile haberleşmesini sağlamak amacıyla kullanılır. TextBox kontrolündeki yazı değiştiği zaman TextChanged olayı gerçekleşir.

Page 10: HSancak Nesne Tabanlı Programlama I Ders Notları Visual C# .NET

HSancak Nesne Tabanlı Programlama I Ders Notları

Label

Bir Windows etiketini temsil eder . Kullanıcıya, form üzerin de bir yazıyı göstermek amaçlı kullanılır. Bu yazının görünümü, Label kontrolünün bazı özellikleri ile değiştirilir.

TextAlign (Yazı Hizalama) Yazının Label kontrolü üzerinde nerede duracağını belirler.

Font (Yazı Tipi) Font özelliği birçok alt özellik taşır. Bunlardan bazıları en sık kullanılan özelliklerdir.

o Name Yazı tipinin ismini belirler. Varsayılan Microsoft Sans Serif seçilidir.

o Size Karakterlerin boyutunu belirler. Varsayılan büyüklük 8,5 değerini alır.

o Bold (Kalın) Yazının kalın tipte olmasını belirler.

o Italic (Yatay) Yazının italik tipte olmasını belirler.

o UnderLine (Altı Çizgili) Yazının alt ı çizgili olmasını belirler.