C+Sharp

C# dili ortaya çıkalı daha hiç birşey yapmayan varsa ya da birşeyler yapıp da ne yaptığından emin olmayan varsa işte bu yazı tam size göre. Bu yazımızda klasik Merhaba Dünya programımızı yazacağız.Ama programımızı yazarken her şeyi adım adım öğreneceğiz. Unutmayın amacımız burada Merhaba Dünya yazmak değil. :) O halde aşağıdaki programı iyice inceleyin önce, şöyle bir süzün programı yukarıdan aşağıya, fazla detaylara inmeden yazımızı okumaya devam edin;
 * Her Yönüyle ilk C# Programımız **

 //dosya adı : Merhaba.cs

using System; namespace MerhabaDunya {

 class Sınıf1

 {

 static void Main(string args[])

 {

 Console.WriteLine("Merhaba Dünya");

 }

 }

 }

Yukarıdaki ilk programımızı incelediğinize göre açıklamalarımıza geçebiliriz. Eğer önceden C++ ve Java ile ilgilenmiş arkadaşlar varsa yukarıdaki kodlar tanıdık gelebilir. Nitekim, her ne kadar Microsoft firması ilk başlarda bunu kabul etmese de C# dili Java ve C++ dillerinin harmanlanmasından oluşmuş bir dildir.  Bugün bunu kabul etmeyen yoktur sanırım.

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> Yukarıdaki ilk programımızın kodunu ben Notepad ile yazdım. Ama kodu derleyip çalıştırmak için bir C# derleyicisine ihtiyacımız olacak. C# derleyicisi Visual Studio.NET ile kurulabileceği gibi www.microsoft.com web sitesinden .NET Framework yazılımını indirerek de kurulabilir. Eğer Visual Studio ortamında çalışıyorsanız yukarıdaki kodları Visual Studio .NET ' in sunduğu hazır proje şablonlarından rahatlıkla oluşturabilirsiniz. Visual Studio programını çalıştırdıktan sonra Project->New menüsünden dil olarak Visual C# ve proje şablonu olarak da "Console Application" seçerseniz, main işlevi içindeki kodlar dışındaki yapı otomatikmen oluşturulacaktır.Eğer .NET Framework yapısını kurduysanız Console Ekranından C# derleyicisini çalıştırmalısınız. Komut ekranını <csc Merhaba.cs> yazarak kaynak kodumuzu derleyebilirsiniz.

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> Şimdi kodlarımızı inceleyelim. İlk satırdaki <span style="color: #0033ff; font-family: Verdana,sans-serif; font-size: 10pt;"><using System;> <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> ifadesi System adlı bir isim alanının kullanılacağını belirtiyor.Peki nedir bu isim alanı(Namespace). İsimalanı kavramı son yıllarda program modüllerinin çok sayıda artmasından dolayı popüler hale gelmiştir. Kolay ve hızlı programlama yapmamızı sağlayan bir takım hazır kütüphaneler her ne kadar işimizi kolaylaştırsa da eğer isimalanları olmasaydı kullanacağımız her kütüphane bizim için işin içinden çıkılmaz bir hale gelebilirdi. Düşünün ki iki ayrı firma iki ayrı sınıf kütüphaneleri oluşturdu ve bu kütüphanelerin içinde aynı isimli birden çok sınıf yapısı var. Eğer biz programcı olarak iki firmanın da kütüphanesini kullanmak istiyorsak her ikisini aynı kod içinde kullanamayız. Çünkü aynı isimli sınıflar derleme aşamasında hata verecektir. Bu durumda yapılması gereken tek şey ya da en etkili yöntem isimalanlarını kullanmaktır. Yani bir sınıfa(class) ulaşabilmek için onun isim alanıyla çağırmak. İsim alanları hiyerarşik yapıda olabilir. Mesela System isim alanının altında başka bir isim alanı onun altında başkaları vs. İşte .NET isimalanı(namespace) hiyerarşisinin en tepesinde bulunan isim alanı System adlı isimalanıdır. En temel işlemlerimiz için bile bu isim alanını kullanmalıyız. Aksi halde programımız çalışmayacaktır. İsimalanlarını kullanmak için isimalanının başına using sözcüğü getirilir.

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> Soru: System isim alanının içinde Data isimalanında bulunan bir cs adlı sınıfı kullanabilmek için kaynak kodumuza ne eklememiz gerekir.

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> Cevap : Kaynak kodumuzun en başına aşağıdaki ifadeyi yazmamız gerekir.

<span style="color: #0033ff; font-family: Verdana,sans-serif; font-size: 10pt;">using System.Data;

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> Bildiğiniz gibi C# dili %100 nesne tabanlı bir dildir. Yaptığımız herşey bir sınıf nesnesidir C# dilinde. Nesne olmayan hiçbirşey yoktur. C++ dilindeki main işlevini hatırlarsınız çoğunuz. Programımız c++ dilinde main işlevinden başlar ama main işlevi hiç bir zaman bir sınıf içinde olmamıştır.C# dilinde herşey sınıflarla temsil edildiği için main işlevi de bizim belirlediğimiz bir sınıfın işlevi olmak zorundadır. Yukarıdaki programımızda <span style="color: #0033ff; font-family: Verdana,sans-serif; font-size: 10pt;"><class Sınıf1> <span style="font-family: Verdana,sans-serif; font-size: 10pt;"> ifadesi ile programımızda bir sınıf nesnesi oluşturuyoruz. Sınıf1 sınıfının bir işlevi olan main'in elbette eskiden de olduğu gibi özel bir anlamı vardır. Biliyorsunuz ki derleyiciler programın nerden çalışacağını bilmek isterler, aksi halde derleme işleminden sonra "programınız için başlama noktası bulunamadı" hatası alırız. Bu yüzden main işlevi bizim için eskiden de olduğu gibi programımızın başlangıç noktasıdır. Yani biz programda yapmak istediklerimizi main işlevi içinde gerçekleştireceğiz. Sınıf tanımlamalarımızı ise istediğimiz noktada yapabiliriz. Daha öncede dediğimiz gibi isimalanları birçok sınıfın veya tek bir sınıfın oluşturduğu kümedir. Bizim ana programımız da bir sınıf olduğuna göre Class1 sınıfını istediğimiz isimli bir isimalanına sokabiliriz. Yukarıda <span style="color: #0033ff; font-family: Verdana,sans-serif; font-size: 10pt;"><namespace MerhabaDunya> <span style="font-family: Verdana,sans-serif; font-size: 10pt;">yazarak isimalanını başlatıyoruz.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> Şimdi main işlevinin içine bakalım, System isimalanında bulunan Console sınıfının bir metodu olan WriteLine ile ekrana bir string ifadesi yazdırıyoruz. Biz burda iki tırnak ifadesi içinde yazımızı belirtmemize rağmen fonksiyonun kullanmı bununla sınırlı değildir. C# dilindeki fonksiyon aşırı yükleme (function overloading)kullanılarak fonksiyonu birçok parametrik yapıda kullanabilmemiz sağlanmıştır. Fonksiyon aşırı yükleme konusuna bundan sonraki yazılarımızda değineceğimizi belirtelim. WriteLine işlevinin adından da anlaşılacağı gibi ekrana basmak istediğimiz yazıdan sonra satır atlama işlemi yapar.Bunu test etmek için bir tane "Merhaba Dünya" da siz yazdırın. Göreceksiniz ki siz belirtmemenize rağmen alt alta iki tane "Merhaba Dünya" yazısı çıkacak.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> Eğer bu programı yazıp derlediyeseniz ne mutlu size ki C# dünyasına güzel bir adım attınız.

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Merhaba, bu makalemizde, hemen hemen tüm Windows uygulamalarının temel yapı taşı olan Windows menülerinin nasıl hazırlandığını ve basit bir uygulamasını adım adım göreceğiz. Bildiğiniz gibi Windows menülerini şimdiye kadar Visual Basic ortamında çok basit bir şekilde yapmak mümkündü. Ama artık Visual C# ile menü hazırlamak hem daha kolay hem de daha eğlenceli. Bu makalede yapacağımız uygulamadaki amacımız, File ve Edit bölümünden oluşan Windows menüsünü tek bir Windows butonuyla aktif ya da pasif duruma getirmek. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Şimdi uygulamamızın ilk adımı olan yeni proje oluşturma sayfasını açalım.
 * <span style="color: #ff6600; font-family: Verdana,sans-serif;">Visual C# ile Windows Menüleri Hazırlama **

<span style="color: #990000; font-family: Verdana,sans-serif; font-size: 10pt;">File->New -> Project <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> menüsünü kullanarak aşağıdaki gibi yeni bir proje oluşturalım.

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> Proje tipi olarak Visual C# Project, template olarak da Windows Application seçtikten sonra projemize uygun isim verip OK butonuna tıklayalım. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Projemizi oluşturduğumuzda Visual C# IDE 'sinin bizim için bir başlangıç formu oluşturduğunu görürüz. Bu form doğal olarak şu anda boştur. Toolbox menüsünü kullanarak Form üzerine istediğimiz kontrolleri sürükle bırak yöntemiyle yerleştirebiliriz. Ya da istediğimiz kontrolü çift tıklayarak da aynı işlevi gerçekleştirebiliriz. Eğer toolbox menüsünü göremiyorsanız ekranın sol alt küşesinde bulunan <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">ToolBox ikonuna tıklayın. Şimdi formumuza basit bir MainMenu kontrolu ekleyelim. Yine ToolBox menüsünden aşağıdaki ikona şekline benzeyen kısma çift tıklayın. Eğer işlem başarılıysa formunuzun en üst kısmında edit edilmek üzere bir menü oluşacaktır. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">MainMenu üzerine fare ile gelerek istediğiniz menü elemanlarını ekleyin.Ben önce File elemanını sonra Edit elemanını ve Edit elemanının içinde de Copy ve Paste menü elemanlarını aşağıdaki gibi oluşturdum. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Şimdi menü elemanlarımıza Properties penceresinden isim verelim. Aşağıda gördüğünüz pencereden form design penceresinden seçtiğiniz elemanla ilgili özelliklere ulaşabilirsiniz.Şimdi Edit menü elamanına tıklayarak Properties ekranındaki name özelliğine "menuEdit" yazalım. Burda menu elemanına verdiğimiz ismi daha sonra kod yazarken kullanacağımız için aklımızda kalacak bir isim vermemiz düzenli kod yazmak için önemli bir sebeptir. Menü elemanlarıyla işimiz bittiğine göre sıra menüyü kontrol edeceğimiz butonu yerleştirmeye geldi. ToolBox penceresinden "Buton" a çift tıklayarak forma bir buton yerleştirelim .Daha sonra butona tıklayıp Properties penceresinden buton ismi (Name) olarak "BizimButon " yazalım. BizimButon ' un text özelliğine ise "MENU PASİF ET" yazısını yazalım. Bu yazıyı yazmamızın sebebi ise şudur: Mene elemanları varsayılan olarak aktif durumdadırlar. Bu yüzden menüyü pasif hale getirmek için bu yazıyı seçtik. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Evet,Form tasarım işlemi bitti. Şimdi sıra geldi BizimButon ile menüye aktif ve pasif durumları arasında geçiş yaptırmak. Tabi asıl işte şimdi başlıyor.

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> Form üzerindeki butona çift tıklayarak kod yazma ekranına gelelim. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Gördüğünüz gibi Visual C# bizim için bir takım kodlar oluşturdu. Biraz bu hazır kodları ana hatlarıyla inceleyelim. <span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;">using System;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> using System.Drawing;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> using System.Collections;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> using System.ComponentModel;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> using System.Windows.Forms;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> using System.Data; <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Yukarıdaki kodlarla programımızın kullanacağı bir takım sistemler derleyiciye bildiriliyor. <span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;">public class Form1 : System.Windows.Forms.Form <span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;">System.Windows.Froms.Form sınıfından yeni bir Form1(bizim form) sınıfı türetilerek bu form içindeki elemanlar tanımlanıyor. <span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;">private System.Windows.Forms.MainMenu mainMenu1;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> private System.Windows.Forms.MenuItem menuFile;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> private System.Windows.Forms.MenuItem menuEdit;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> private System.Windows.Forms.MenuItem menuItem3;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> private System.Windows.Forms.MenuItem menuItem4;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> private System.Windows.Forms.Button BizimButon;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> private System.ComponentModel.Container components = null; <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">private void InitializeComponent işlevi ile Form1 sınıfı içindeki elemanlarla ilgili ilk işlemler yapılıyor. Elemanların form üzerindeki yeri ve elemanlara ait Properties penceresinden tanımladığımız bütün özellikleri bu işlev ile yerine getirilir. <span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;">static void Main

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> Application.Run(new Form1);

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;">Uygulamamızın Form1 üzerinden gerçekleştirileceğini belirtir. <span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;">İşte bu da bizim kodumuz : <span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;">private void BizimButon_Click(object sender, System.EventArgs e)

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> if (menuEdit.Enabled)

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> menuEdit.Enabled=false;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> BizimButon.Text="MENU AKTIF ET";

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> }

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> else

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> menuEdit.Enabled=true;

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> BizimButon.Text="MENU PASIF ET";

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> }

<span style="color: #0066ff; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Bu kodu yazabilmek için form design penceresinden BizimButon çift tıklayarak BizimButon_click işlevinin içine geçelim. Yukarıdaki kodda eğer menuEdit aktifse pasif duruma getiriyoruz ve BizimButon 'a da "MENU AKTIF ET" yazıyoruz. Eğer menuEdit zaten pasifse Menuyu aktif hale getirip BizimButon yazısını da "MENU PASIF ET" yapıyoruz. Aşağıda her iki durum için programımızın çıktısı mevcuttur. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">


 * <span style="color: #ff6600; font-family: Verdana,sans-serif;">C ve C++ bakış açısıyla C# dili **

<span style="font-family: Verdana,sans-serif; font-size: 10pt;">Bildiğimiz gibi bilgisayarları programlamak için programlama dillerine ihtiyaç duyulur.Bu dillerden en popülerleri Basic,C,C++,Pascal,Java ve Assembler 'dır.Makina dili ise donanımı kontrol etmek için donanımı üreten firma tarafından tanımlanan komutlar kümesidir. Bazı programlama dilleri derleyicilere ihtiyaç duymasına karşın bazıları ise yorumlayıcılara ihtiyaç duyarlar, mesela bir c++ programını çalıştırabilmek için C++ derleyicisine ihtiyacımız varken, Perl ile yazılmış bir CGI scripti için komut yorumlayıcısına ihtiyacımız vardır. Derleyiciler programı çalıştırmadan önce kodları makina komutlarına çevirirler fakat yorumlayıcılar bir grup kodu satır satır ya da bloklar halinde yorumlayarak çalıştırırlar.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> Aslında derleyiciler de, komut yorumlayıcıları da birer bilgisayar programından başka birşey değildirler.Yani c ve c++ dilleri bir giriş bekleyen ve çıkış veren birer bilgisayar programları gibi düşünülebilir.Giriş olarak kaynak kodu veren bu programlar çıkış olarak ise makina kodu üretirler.

<span style="color: #ff3300; font-family: Verdana,sans-serif; font-size: 10pt;">C ve C++ dillerine kısa bir bakış:

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> C dili en popüler yapısal programlama dilidir.C dili Dennis Ritchie tarafından, Martin Richards ve Ken Thompson tarafından geliştirilen BCBL ve B dillerinin temelleri üzerine kuruldu.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> C dili "The C Programming Language by Brian Kernighan and Dennis Ritchie" kitabıyla büyümüştür.C dili için, 1983 yılının büyük önemi vardır.Çünkü 1983 yılında ANSI standartlar komitesi C standartları için toplanmıştır.Bu standartlaşma süreci tam 6 yıl sürmüştür.Ve tabi ki şu anki standartların oluşumuna katkıda bulunan ANSI 99 standartları da diğer önemli bir gelişmedir.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> C programcılar tarafından herhangi bir tür program geliştirmek için yazılmış genel amaçlı bir dildir. C ile bir düşük seviyeli sistem için program yazabileceğimiz gibi, yüksek seviyeli bir GUI(Grafik Arabirimi) tasarlamamız da mümkündür.Ve elbette kendi kütüphanemizi de C ile oluşturabiliriz.C dilinin ortaya çıkmasından bunca yıl geçmesine rağmen popülaritesini hiçbir zaman kaybetmemiştir. Günümüz programcıları çeşitli amaçlar için programlarını geliştirirken C dili ile yazılmış kaynak kodlarını kullanırlar.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> Bjarne Stroustrup 1980 yıllında C++ dilini ortaya çıkarmıştır. C++ dili C temelli ve C nin bir üst kümesi olarak düşünülebilir. C++ en popüler nesne temelli programlama dilidir. C++ dilinin ilk ismi "C with Classes"(C ile sınıflar) idi. C++ dili C diline nazaran daha etkili ve güçlüdür.Ve en önemli özellği ise C 'den farklı olarak nesne temelli bir dildir.Şu anda C++ dili ANSI ve ISO kuruluşları tarafından standartlaştırılmıştır. Bu standartların son versiyonu 1997 yılında yayınlanmıştır.

<span style="color: #ff3300; font-family: Verdana,sans-serif; font-size: 10pt;">C# diline kısa bir bakış:

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> C#, güçlü, modern, nesne tabanlı ve aynı zaman type-safe(tip-güvenli) bir programlama dilidir.Aynı zamanda C#, C++ dilinin güçlülüğünü ve Visual Basic' in ise kolaylığını sağlar.Büyük olasılıkla C# dilinin çıkması Java dilinin çıkmasından bu yana programcılık adına yapılan en büyük gelişmedir. C#, C++ 'ın gücünden, Visual Basic 'in kolaylığından ve Java 'nın da özelliklerinden faydalanarak tasarlanmış bir dildir. Fakat şunu da söylemeliyiz ki, Delphi ve C++ Builder 'daki bazı özellikler şimdi C# 'da var. Ama Delphi ya da C++ Builder hiçbir zaman Visual C++ ya da Visual Basic 'in popülaritesini yakalayamamıştır.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> C ve C++ programcıları için en büyük sorun, sanırım hızlı geliştirememedir. Çünkü C ve C++ programcıları çok alt seviye ile ilgilenirler.Üst seviyeye çıkmak istediklerinde ise zorlanırlar.Ama C# ile artık böyle bir dert kalmadı.Aynı ortamda ister alt seviyede isterseniz de yüksek seviyede program geliştirebilirsiniz.C# dili Microsoft tarafından geliştirilen .NET paltformunun en temel ve resmi dili olarak lanse edilmiştir.C# dili Turbo Pascal derleyicisini ve Delphi 'yi oluşturan takımın lideri olan Anders Heljsberg ve Microsoft'da Visual J++ takımında çalışan Scott Wiltamuth tarafından geliştirilmiştir.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> .NET framework'ünde bulunan CLR (Common Language Runtime), JVM (Java Virtual Machine)' ye, garbage collection, güvenilirlik ve JIT (Just in Time Compilation) bakımından çok benzer.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> CLR, .NET Framework yapısının servis sağlama ve çalışma zamanının kod organizasyonu yapan ortamıdır. CLR, ECMA standartlarını destekler.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> Kısacası C# kullanmak için CLR ve .NET Framework sınıf kütüphanesine ihtiyacmız vardır. Bu da demek oluyor ki C#, JAVA, VB ya da C++ değildir. C,C++ ve JAVA 'nın güzel özelliklerini barındıran yeni bir programlama dilidir. Sonuç olarak C# ile kod yazmak hem daha avantajlı hem daha kolay hem de etkileyicidir.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> Bir başka yazıda buluşmak ümidiyle ...


 * <span style="color: #ff6600; font-family: Verdana,sans-serif;">C#'da İfadeler, Tipler ve Değişkenler **

|| <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Bu derste C# dilindeki ifadeler,tipler ve değişkenler anlatılacaktır. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Değişkenleri en sabit şekilde verilerin depolandğı yerler olarak tanımlayabiliriz. Değişkenlerin içine verilerimizi koyabilirirz veya değişkenlerimizin içindeki verileri C# programındaki işlemlerimiz için kullanabilliriz. Değişkelerin tipini belirleyen faktör, onların içerdikleri verilerin çeşitleridir. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">C# dilinde kullanacağımız her değişkenin bir tipi olmak zorundadır ( Vbscript ve JavaScript gibi dillerde değişken tanımlarken onun tipini de ayrıca belirtmeye gerek yoktur.) Bir değişken üzerinde yapılan tüm işlemler de onun hangi tipte bir değişken olduğu göz önüne alınarak yapılır. Böylece programda bütünlük ve güvenlik korunmuş olur. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Boolean ( doğru/yanlış ), ve üç sayısal veri tipi; integer( tamsayı ), floating point (ondalıklı sayı ) ve decimal( muhasebe ve finansal işlemler için) C# dilinin en basit veri tipleri olarak sayılabilir. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> Kod 1 : Boolean değerlerin görüntülenmesi : Boolean.cs <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> class Booleans <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">{ <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> public static void Main <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">{ <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> bool content = true; <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> bool noContent = false; <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("It is {0} that C# Station provides C# programming language content.", content); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("The statement above is not {0}.", noContent); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">} <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">} || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Yukarıdaki Kod 1’de de görüleceği gibi boolean değişkenler ya true(doğru) veya false(yanlış) değerlerini alabilirler. Programın çıktısı şöyle olacaktır. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">>It is True that C# Station provides C# programming language content.
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Dersimizin hedefleri : **
 * <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Değişken kavramının anlaşılması.
 * <span style="font-family: Verdana,sans-serif; font-size: 10pt;">C# dilinde bulunan basit tiplerin öğrenilmesi.
 * <span style="font-family: Verdana,sans-serif; font-size: 10pt;">C# dilindeki ifadelerin temel olarak anlaşılması.
 * <span style="font-family: Verdana,sans-serif; font-size: 10pt;">String veri tipinin öğrenilmesi.
 * <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> using System;

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> >The statement above is not False. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Aşağıdaki tablo tamsayı tiplerini, boyutlarını ve alabilecekleri değer aralıklarını göstermektedir. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Tamsayı tipleri küsuratsız işlemler için çok elverişlidirler. Fakat char( karakter) tipi Unicode standartlarına uygun olarak bir karakteri temsil eder. Yukarıdaki tablodan da göreceğiniz gibi elimizde çok sayıda tamsayı tipimiz vardır. Bunlardan istedikleriminizi ihitiyaçlarımıza göre rahatça kullanabiliriz. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Bir sonraki tablo ise ondalık (floating point ) ve decimal veri tiplerini,boyutlarını, hassasiyetlerini ve geçerli oldukları aralıkları listeler. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Ondalıklı sayıları küsuratlı işlemlerde kullanmak iyi olur. Bunun yanında muhasebe ve finansal işlemler için decimal veri tipi daha uygun olacak şekilde tasarlanmıştır. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Bilgisayar programları işlemleri yaparken ifadeleri kullanırlar ve sonuç ortaya çıkartırlar. Programlarda yer alan ifadeler değişkenler ve işleçlerden ( operatör) oluşurular. Bir sonraki tabloda işleçleri, işleçlerin işlem sıralarını ve işleme yönlerini görebilirsiniz. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Sol işleme yönü demek işlemlerin soldan sağa doğru yapıldığıdır. Sağ işleme yönü demek işlemlerin sağdan sola doğru yapıldığıdır. Mesala atama işleçlerinin hepsinde önce sağ tarafın sonucu bulunur ve bu sonuç sol tarafa aktarılır. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Kod 2 : Unary Operators: Unary.cs <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">class Unary
 * **<span style="color: white; font-family: Verdana,sans-serif; font-size: 10pt;">Type ( Tip ) ** || **<span style="color: white; font-family: Verdana,sans-serif; font-size: 10pt;">Size (in bits)(boyut ) ** || **<span style="color: white; font-family: Verdana,sans-serif; font-size: 10pt;">Range (aralık) ** ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">sbyte || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">8 || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">-128 to 127 ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">byte || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">87 || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">0 to 255 ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">short || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">16 || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">-32768 to 32767 ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">ushort || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">16 || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">0 to 65535 ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">int || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">32 || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">-2147483648 to 2147483647 ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">uint || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">32 || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">0 to 4294967295 ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">long || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">64 || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">-9223372036854775808 to 9223372036854775807 ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">ulong || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">64 || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">0 to 18446744073709551615 ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">char || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">16 || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">0 to 65535 ||
 * **<span style="color: white; font-family: Verdana,sans-serif; font-size: 10pt;">Type ( Tip ) ** || **<span style="color: white; font-family: Verdana,sans-serif; font-size: 10pt;">Size (in bits)(boyut ) ** || **<span style="color: white; font-family: Verdana,sans-serif; font-size: 10pt;">Precision Range ** ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">float || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">32 || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">7 digits 1.5 x 10-45 to 3.4 x 1038 ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Double || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">64 || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">15-16 digits 5.0 x 10-324 to 1.7 x 10308 ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Decimal || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">128 || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">28-29 decimal places 1.0 x 10-28 to 7.9 x 1028 ||
 * **<span style="color: white; font-family: Verdana,sans-serif; font-size: 10pt;">Category ( kategori) ** || **<span style="color: white; font-family: Verdana,sans-serif; font-size: 10pt;">Operator(s) (işleç/işleçler) ** || **<span style="color: white; font-family: Verdana,sans-serif; font-size: 10pt;">Associativity(işeme yönü) ** ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Primary || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">(x) x.y f(x) a[x] x++ x-- new typeof sizeof checked unchecked left Unary + - ! ~ ++x --x (T)x || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">left ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Multiplicative || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">* / % || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">left ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Additive || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">+ - || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">left ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Shift || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"><< >> || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">left ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Relational || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">< > <= >= is || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">left ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Equality || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">== != || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">right ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Logical AND || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">& || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">left ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Logical XOR || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">^ || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">left ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Logical OR || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">| || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">left ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Conditional AND || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">&& || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">left ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Conditional OR || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">|| || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">left ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Conditional || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">?: || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">right ||
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Assignment || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">= *= /= %= += -= <<= >>= &= ^= |= || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">right ||
 * <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">using System;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> public static void Main

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> int unary = 0;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> int preIncrement;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> int preDecrement;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> int postIncrement;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> int postDecrement;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> int positive;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> int negative;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> sbyte bitNot;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> bool logNot;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> preIncrement = ++unary;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">Console.WriteLine("Pre-Increment: {0}", preIncrement); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> preDecrement = --unary;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Pre-Decrement: {0}", preDecrement); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> postDecrement = unary--;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Post-Decrement: {0}", postDecrement); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> postIncrement = unary++;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Post-Increment: {0}", postIncrement);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Final Value of Unary: {0}", unary); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> positive = -postIncrement;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Positive: {0}", positive); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> negative = +postIncrement;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Negative: {0}", negative); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> logNot = false;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> logNot = !logNot;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Logical Not: {0}", logNot); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">} ||

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">İfadeler işlemler yapılırken arka-artırma ve arka-azaltma işleçleri önce değişkenin değerini döndürür sonra değişken üzerinde artırma veya azaltma işlemini yapar. Diğer taraftan, ön-artırma ve ön-azaltma işleçleri önce değişken üzerinde artırma veya azaltma işlemini yapar sonra değişkenin son halini döndürür. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Kod 2‘de unary (tek) değişken önce sıfır olarak atanıyor. Ön-artırma (pre-increment) işleci uygulandığında, unary değişkenin değeri 1’e çıkıyor ve “preIncrement” değişkenine atanıyor. Hemen arkasında Ön-azaltma(pred-decrement) işleci sayesinde unary değişkenimiz tekrar sıfır değerini alıyor preDecrement değişkenine bu değer atanıyor. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Arka-azaltma (post-decrement) işleci unary değişkenimize uygularsak bu değişkenimizin değeri değişiyor ama önce değişkenin ilk değeri postDecrement değişkenine atanıyor. Sonra ise arka-artırma (post-increment) işlecini uygularsak unary değişkenimizin değeri azalıyor fakat postIncrement değişkenin değeri unary değişkenimizin ilk değeri olarak kalıyor. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Mantıksal değil işareti, doğru ifadeyi yanlış, yanlış ifadeyi ise doğru olarak değiştirir. Kod 2’inin çıktısı şöyle olacaktır : <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> >Pre-Increment: 1

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> >Pre-Decrement 0

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> >Post-Decrement: 0

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> >Post-Increment -1

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> >Final Value of Unary: 0

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> >Positive: 1

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> >Negative: -1

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> >Logical Not: True <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Kod 3. Binary Operators: Binary.cs <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">class Binary
 * <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">using System;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">public static void Main

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> int x, y, result;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> float floatResult; <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> x = 7; y = 5; <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> result = x+y;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("x+y: {0}", result); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> result = x-y;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("x-y: {0}", result); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> result = x*y;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("x*y: {0}", result); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> result = x/y;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("x/y: {0}", result); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> floatResult = (float)x/(float)y;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("x/y: {0}", floatResult); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> result = x%y;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("x%y: {0}", result); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> result += x;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("result+=x: {0}", result); <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">} || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Kod 3: te birçok aritmetik işlemler yapılıyor. Bu işlemlerin sonucunu da sizler tahmin edebilirsiniz... <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">“floatResult” değişkenin tipi ondalıklı sayı tipi olduğu ve “x” ve “y” değişkenlerimiz tamsayı tiplerinde oldukları onları açık biçimde ondalıklı sayı tipine çevirdik ( explicitly cast ) ve bu şekilde işlem yaptık. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Yukarıdaki kod parçasında bir de kalan (remainder % ) işlecinin kullanılışına dair örnek verdik. Bu işleç, iki sayının bölümününden kalan sayıyı sonuç olarak döndürür. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Son olarak yazdığımız ifadede yeralan atama işleci de (+=) C/C++ ve C# programcılarının sıklıkla kullandıkları bir atama ve işlem yapma türüdür. Bu ifade aslında şu ifadenin kısa yoludur : “result = result + x”. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Şimdiye kadar burada sıkça gördüğünüz diğer veri tipi ise string ( karakter dizisi veya karakter katarı)’dir. String veri tipi Unicode karakter tiplerinin bir listesini içerirler ve tek çift tırnak işaretleri arasında yazılırlar.


 * <span style="color: #ff6600; font-family: Verdana,sans-serif;">C# Kontrol yapıları ve seçme işlemleri **

|| <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Bu derste C# dilindeki ifadeler,tipler ve değişkenler anlatılacaktır. C# dilinde kullanılan seçme veya kontrol ifadelerini öğreneceksiniz. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Önceki derslerimizde, her program belirli ifadeleri sırasıyla çalıştırıp bitiyordu. Program içinde inputlara veya program içinde yapılan hesaplara göre değişik işlemler yapılmıyordu. Bu derste öğrendiklerimiz de programlarımızın belirli şartlara göre değişik şekillerde çalışmasını sağlayacaktır. İlk seçme ifademiz "if". "if" kontrol yapısının 3 temel formu vardır. <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">class IfSelect <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">{
 * <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Dersimizin hedefleri : **
 * <span style="font-family: Verdana,sans-serif; font-size: 10pt;">"İf" (eğer) ifadesinin kullanımı "
 * <span style="font-family: Verdana,sans-serif; font-size: 10pt;">"switch" (çoktan-seç) ifadesini kullanımı "
 * <span style="font-family: Verdana,sans-serif; font-size: 10pt;">"break" ifadesinin "switch" ifadesi içerisinde nasıl kullanıldığı
 * <span style="font-family: Verdana,sans-serif; font-size: 10pt;">" "goto" ifadesinin yerinde ve etkili kullanılması
 * <span style="color: #990000; font-family: Verdana,sans-serif; font-size: 10pt;">Kod 1 : IF yapısının değişik formlarda kullanımı : IfSelection.cs **
 * <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> using System;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> public static void Main

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> string myInput;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> int myInt; <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.Write("Please enter a number: ");

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> myInput = Console.ReadLine;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> myInt = Int32.Parse(myInput); <span style="color: #009933; font-family: Verdana,sans-serif; font-size: 10pt;"> // Single Decision and Action with brackets

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> if (myInt > 0)

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number {0} is greater than zero.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: #009933; font-family: Verdana,sans-serif; font-size: 10pt;"> // Single Decision and Action without brackets

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> if (myInt < 0)

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number {0} is less than zero.", myInt); <span style="color: #009933; font-family: Verdana,sans-serif; font-size: 10pt;">// Either/Or Decision

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> if (myInt != 0)

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number {0} is not equal to zero.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> }

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> else

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number {0} is equal to zero.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: #009933; font-family: Verdana,sans-serif; font-size: 10pt;">// Multiple Case Decision

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> if (myInt < 0 || myInt == 0)

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number {0} is less than or equal to zero.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> else if (myInt > 0 && myInt < = 10)

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number {0} is between 1 and 10.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> else if (myInt > 10 && myInt < = 20)

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number {0} is between 11 and 20.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> else if (myInt > 20 && myInt < = 30)

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number {0} is between 21 and 30.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> else

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number {0} is greater than 30.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">} || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Kod 1'de tüm program boyunca tek bir değişkeni kullanıyoruz, "myInt". Kullanıcıdan etkileşimli olarak veri almak için önce "Lütfen bir sayı giriniz :" iletisini konsula yazdırıyoruz. "Console.Readline" ifadesi ile program kullanıcıdan bir değer girmesini bekler. Bir rakam yazılınca ve enter tuşuna basılınca program yazılan değeri önce string tipinde olan myInput değişkenine atanıyor. String olarak alınan veriyi program tamsayı tipinde bir değişken olarak kullanmak istediği için "myInput" tamsayı tipine dönüştürülmeli. Bu dönüşüm için "Int32.Parse(myInput)" komutunu kullandık ( tip dönüşümleri ve Int32 gibi veri tipleri ileriki derslerde incelenecektir.) Daha sonra, dönüşümün sonucu "myInt" isimli değişkene aktarılıyor. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Artık istediğimiz tipte bir veriye sahibiz ve bunu "if" ifadesi içinde işleyebiliriz. "if" ifade bloğunun ilk formu şu şekildedir : if(mantıksal ifade) { "mantıksal ifade"nin doğru olası durumunda yapılması gerekenler }. Öncelikle "if" anahtar kelimesi ile başlamalıyız. Sonrası parantezler arasındaki mantıksal ifade. Bu mantıksal ifadenin doğru veya yanlış olması bulunur. Biz programımızda kullanıcıdan aldığımız sayının sıfırdan büyük olup olmadığını kontrol ediyoruz">0" ile. Eğer sayı sıfırdan büyükse, mantıksal ifadenin sonucu doğrudur ve { } parantezleri arasındaki kod bloğu çalıştırılır. Eğer mantıksal ifade yanlış bir sonuç üretirse { } arasındaki kon bloğu çalıştırılmadan bloktan sonraki ifadelere geçer. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">İkinci "if" ifadesi aslında birincisi ile aynıdır, ikincisi sadece blok içinde değildir. Eğer boolean ifade doğru sonuç üretirse, bu ifadeden hemen sonraki çalışır. Boolena ifadenin yanlış olması durumunda ise bu ifadeden hemen sonraki ifade çalıştırılmadan bir sonraki ifadeye geçilir ve o ifade çalıştırılır. Bu şekildeki "if" yapısını, boolean ifadenin doğru olmasında sadece bir tane ifade çalıştırılacaksa yeterlidir. Buna karşın "if" ifadesinin sonucuna göre birden fazla ifade işleme konulacaksa blok olarak { } parentezleri arasında yazılır. Benim kişisel önerim "if" den sonra çalıştırılacak ifade sayısına bakmadan, bu ifade(leri) her durumda blok olarak yazmaktır. İleride yeni programın okunmasında ve yeni işlevler eklenmesinde size hatalardan kaçmanıza yardım eder. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Birçok zaman size eğer/değilse türünde çalışacak bir "if" yapısı gerekebilir. Üçüncü tip "if" ifadesi eğer doğru değer üretirse şunları yap, doğru değilse "else" anahtar sözcüğünden sonraki kodları çalıştır türünde bir yapısı olarak yazılmalıdır. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Birden fazla mantıksal ifadeyi işlememiz gerektiğinde ise, if/else if/else tipinde bir "if" yapısını kullanmak gerekir. Dördüncü örneğimizde bu tip bir if yapısını görebilirsiniz. Bu tip yapı yine "if" ve boolean ifadesi ile başlar. Boolean ifade doğru ise hemen alttaki bloktaki kodlar çalıştırılır. Bunun yanında, boolean ifadenin değişik durumlarına göre "else if" iç yapısı kullanılır. "else if" de aynı if gibi bir boolean ifadeyi alır ve sonucu doğru hemen sonraki bloktaki kodları çalıştırır. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Boolean ifadenin alabileceği tüm ihtimallere göre bu şekilde "else if" ifadeleri sıralanabilir fakat en sonda bir "else" ile yukarıdaki tüm şartların yanlış olması durumunda çalıştırılacak kodları belirleriz. Bu dördüncü "if" yapısında da yine sadece bir tane if/else blok yapısı çalıştırılır. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">"switch" yapısı da "if/else if/else" yapısına çok benzer. <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">class SwitchSelect
 * <span style="color: #990000; font-family: Verdana,sans-serif; font-size: 10pt;">Kod 2 : Switch ifadeleri : SwitchSelection.cs **
 * <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">using System;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> public static void Main

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> tring myInput;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> int myInt;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> begin: <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.Write("Please enter a number between 1 and 3: ");

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">myInput = Console.ReadLine;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> myInt = Int32.Parse(myInput); <span style="color: #009933; font-family: Verdana,sans-serif; font-size: 10pt;">// switch with integer type

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> switch (myInt)

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> case 1:

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number is {0}.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> break;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> case 2:

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number is {0}.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> break;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> case 3:

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number is {0}.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> break;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> default:

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number {0} is not between 1 and 3.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> break;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> decide: <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.Write("Type \"continue\" to go on or \"quit\" to stop: ");

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> myInput = Console.ReadLine; <span style="color: #009933; font-family: Verdana,sans-serif; font-size: 10pt;"> // switch with string type

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> switch (myInput)

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> case "continue":

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> goto begin;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> case "quit": Console.WriteLine("Bye."); break;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> default:

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your input {0} is incorrect.", myInput);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> goto decide;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">} || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Kod 2'de birkaç tane "switch" yapısı örneğimiz var. "switch" yapısı yine "switch" anahtar kelimesi ile başlar ve sınanacak değişkeni parantez içinde belirtiriz. Switch yapısının çalışması için şu veri tiplerinden bir tanesini kullanmak gerekir : sbyte,short,ushort,int, long, ulong, char, string, or enum ( enum daha sonraki bir derste işlenecektir.) <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Birinci örneğimizdeki "switch" yapısı int tipinde bir değer almaktadır. Tamsayı değişkenimizin alabileceği değerlere göre değişik işlemler yapabiliriz. "myInt" değişkenimizin herbir ihtimalini değerlendirirken "case" anahtar kelimesini, muhtemel değerini ve iki nokta üst üste ":" yapısında bir sınama yapıyoruz. Örneğimizde, "case 1 :", "case 2: ", ve "case 3:" şeklinde yazdık. Sınama sonuçlarından uygun olanın hemen altında kod bloku yer alır. Bu kod blokundan sonra ise "break" veya "goto" ifadelerini kullanmamız gerekir. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">İsterseniz "default" seçeneğini de "switch" ifadesi ile birlikte kullanabilirsiniz. "default" ifadesinin altındaki kod bloku, "defult"'tan önceki "case"'lerin hiçbiri sınamayı geçemediği zaman çalışır ve tüm "case"'lerden sonra gelir. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Her "case" 'den sonra "break" ifadesinin zorunlu olduğunu tekrar hatırlatalım. "break" ifadesi "switch" yapısından dışarı çıkmayı ve alttaki kodlara geçmemizi sağlar. "default" anahtar kelimesinin kod blokundan hemen sonra "break" koymak programcının isteğine kalmıştır. Switch ifadesinde iki tane dikkat edilmesi gereken husus vardır. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Birincisi, farklı durumları (case'leri) ard arda aralarına hiç kod yazmadan sıralamaktır. Aslında burada yapılan iş, değişkenimizin birden fazla değeri için tek bir "case" kod bloku oluşturmaktır. Bir case ve hemen arkasına başka bir case yazdığımızda program otomatik olarak bir sonraki "case" 'e geçer. Aşağıdaki kodu incelediğimizde, "myInt" değişkeni 1,2, veya 3 değerlerinden herhangi birini alırsa kendi değerini ekrana yazdırıyoruz. Diğer durumda ise değişkenimizin değerinin 1 ve 3 arasında olmadığını ekrana yazdırıyoruz.
 * <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">switch (myInt)

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> {

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> case 1:

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> case 2:

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> case 3:

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number is {0}.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> break;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> default:

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> Console.WriteLine("Your number {0} is not between 1 and 3.", myInt);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> break;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> } || <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Kod 2'de yer alan ikinci "switch" yapısı ise "goto" ifadesinin nasıl kullanılacağını göstermek amacıyla yazılmıştır. "goto", programın belirli bir kısmında yer alan, özel etiket (label) ile belirtilmiş kısmına atlamasına ve oradan itibaren çalışmaya devam etmesine yarar. Programımızda kullanıcı "continue" yazarsa "begin" olarak belirlenmiş etikete gider ve oradan çalışmaya devam eder. Aslında bu şekilde "goto" kullanmak etkili bir döngü olur. Eğer kullanıcı "end" yazarsa program "bye" yazar ve döngüden programımız çıkar. <span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;">Açıkça görülüyor ki "goto" kelimesini kullanmak bize programda belirli şartlar altında güç kazandırır. Yine de "goto" ifadesini programda sık bir şekilde kullanmak "sipagetti" kod olarak adlandırılan programlamaya yol açabilir ki, bu tür kodlama programı hem okurken hem de hataları ayıklarken büyük sorunlara sebep olabilir.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;">Bu yazımızda Windows programlamanın temel elemanlarından olan windows formlarının nasıl oluşturulduğunu ve nasıl kullanıldığını göreceğiz, windows formlarını açıklarken basit bir dört işlem yapan hesap makinası oluşturacağız.Windows formları derken neyi kastediyoruz? Textbox, label, button gibi önemli elemanların hepsi birer windows formudur. Bu windows formlarına ulaşmak için <span style="color: #0033ff; font-family: Verdana,sans-serif; font-size: 10pt;">System.Windows.Forms <span style="font-family: Verdana,sans-serif; font-size: 10pt;"> isimalanını kullanıyoruz. Ve tabi ki programımızın aktif bir windows uygulaması olarak çalışması için de aşağıdaki isimalanlarını projemize ekliyoruz. <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">using <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Drawing <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;
 * <span style="color: #ff6600; font-family: Verdana,sans-serif;">C# ile Temel Windows Formları Oluşturma **

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">using <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Collections <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">using <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">ComponentModel <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> Programımızı yazmaya başlamadan önce programımızın kodlarını içerecek bir isim alanı oluşturalım. Ben buna CsHesapMakinasi adi verdim.(Makaleyi okurken kaynak kodu incelemenizi tavsiye ederim) Siz istediğiniz başka bir isim kullanabilirsiniz.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> Daha önceki makalelerimizde belirttiğimiz gibi programımızın çalışması için derleyiciye programın başlangıç noktasını bildirmemiz gerekirdi.Bu başlangıç noktası da genelde main fonksiyonu oluyordu. Kodumuzu öyle ayarlayacağız ki main fonksiyonu icra edildiğinde çalıştırmak istediğimiz windows formu ekranda görünsün. Bunun için main içine aşağıdaki kodu yazıyoruz. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Application <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Run <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">( <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">new <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Form1 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">); <span style="font-family: Verdana,sans-serif; font-size: 10pt;"> // Yeni bir Form1 nesnesi oluşturularak uygulama olarak başlatılıyor.

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> Şu an için Form1 hakkında en ufak bir bilgiye sahip değiliz.Peki bu Form1 nasıl oluşturulacak. Yukarıda da bahsettiğimiz gibi Form1 sınıfından bir nesne oluşturmak için <span style="color: #0033ff; font-family: Verdana,sans-serif; font-size: 10pt;">System.Windows.Forms <span style="font-family: Verdana,sans-serif; font-size: 10pt;"> isimalanını kullanmalıyız. Bu yüzden bu isim alanının altında bulunan Form sınıfından yeni bir Form1 sınıfı türetmemiz gerekecek, bu türetme işlemi aşağıdaki gibidir. Form1 sınıfını türettikten sonra Form1' içinde bulunacak elemanları tanımlıyoruz.4 işlemi yapmak için 4 buton, işleme giren değerler için 2 textbox ve 2 tane de label formu tanımlıyoruz.Tanımlama işlemi aşağıdaki gibidir. <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">public class <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Form1 : System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Form

<span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">{

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">private <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Button button1 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">private <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Button button2 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">private <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Button button3 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">private <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Button button4 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">private <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Label label2 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">private <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">TextBox deger1 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">private <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">TextBox deger2 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">private <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">TextBox sonuc <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">private <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Label isaret <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> } <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Şimdi bu windows formunun ekrana nasıl basıldığını inceleyelim.Main işlevi içinde yeni bir Form1 nesnesi yaratıldığında Form1 nesnesine ait kurucu işlev olan Form1 işlevi çağrılır.(Kaynak kodu inceleyin). Form1 kurucu işlevinde ise InitializeComponent <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">; <span style="font-family: Verdana,sans-serif; font-size: 10pt;"> adlı bir fonksiyon çağırılarak Form1 nesnesine ait olan üye elemanlarla (button,label,textbox vs) ilgili ilk işlemler yapılır.From1 açıldığı zaman Form1 içinde bulunan elemanlarla iligili yapmak istediğimiz ilk özellikleri InitializeComponent fonksiyonu içinde yapıyoruz. <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">private void <span style="font-family: Verdana,sans-serif; font-size: 10pt;">InitializeComponent <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">

<span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">{

//<span style="color: #cc9900; font-family: Verdana,sans-serif; font-size: 10pt;">// form1 içinde yer alacak elemanlar yaratılıyor(kaynak kodu inceleyin) //

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">deger2 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">new <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">TextBox <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">sonuc <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">new <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">TextBox <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">button2 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">new <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Button <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">isaret <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">new <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Label <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">label2 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">new <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Windows <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Forms <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Label <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">SuspendLayout <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

//<span style="color: #cc9900; font-family: Verdana,sans-serif; font-size: 10pt;">// //

//<span style="color: #cc9900; font-family: Verdana,sans-serif; font-size: 10pt;">// elemanlarla ilgili başlangıç özellikleri veriliyor. //

//<span style="color: #cc9900; font-family: Verdana,sans-serif; font-size: 10pt;">// //

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">deger1 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Location <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">new <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Drawing <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Point <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">( <span style="font-family: Verdana,sans-serif; font-size: 10pt;">16 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">, <span style="font-family: Verdana,sans-serif; font-size: 10pt;">8 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">); //<span style="color: #cc9900; font-family: Verdana,sans-serif; font-size: 10pt;">//deger1 adlı textbox için yer bildirimi //

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">deger1 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Name <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= **<span style="font-family: Verdana,sans-serif; font-size: 10pt;">"deger1" **<span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">deger1 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">TabIndex <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= <span style="font-family: Verdana,sans-serif; font-size: 10pt;">0 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">deger1 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Text <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= **<span style="font-family: Verdana,sans-serif; font-size: 10pt;">"0" **<span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">; <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">name="Form1" <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">; //<span style="color: #cc9900; font-family: Verdana,sans-serif; font-size: 10pt;">//Form1 nesnesinin kendisi için this anahtar sözcüğünü kullanıyoruz //

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">text <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= **<span style="font-family: Verdana,sans-serif; font-size: 10pt;">"Hesap Makinası " **<span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">BackColor <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Drawing <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Color <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">FromArgb <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">((( <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Byte <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">)( <span style="font-family: Verdana,sans-serif; font-size: 10pt;">255 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">)), (( <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Byte <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">)( <span style="font-family: Verdana,sans-serif; font-size: 10pt;">128 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">)), (( <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Byte <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">)( <span style="font-family: Verdana,sans-serif; font-size: 10pt;">0 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">)));

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">ClientSize <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">new <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Drawing <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Size <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">( <span style="font-family: Verdana,sans-serif; font-size: 10pt;">400 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">, <span style="font-family: Verdana,sans-serif; font-size: 10pt;">149 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">);

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> }

<span style="color: #3a3a3a; font-family: Verdana,sans-serif; font-size: 10pt;"> Şimdi sıra elemanlarla ilgili olayların birbirleri ile ilişkisine.Mesela bir buton formunun click olayının form tarafından yakalanabilmesi için aşağıdaki satırları yazmalıyız. <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;"> this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">button4 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Click <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">+= <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">new <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">EventHandler <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">( <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">this <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">button4_Click <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">);

<span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">private void <span style="font-family: Verdana,sans-serif; font-size: 10pt;">button4_Click <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">( <span style="color: blue; font-family: Verdana,sans-serif; font-size: 10pt;">object <span style="font-family: Verdana,sans-serif; font-size: 10pt;">sender <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">, <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">EventArgs e <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">)

<span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">{

<span style="font-family: Verdana,sans-serif; font-size: 10pt;">isaret <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Text <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= **<span style="font-family: Verdana,sans-serif; font-size: 10pt;">"/" **<span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">;

<span style="font-family: Verdana,sans-serif; font-size: 10pt;">sonuc <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Text <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">= <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Convert <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">ToString <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">( <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Convert <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">ToInt32 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">( <span style="font-family: Verdana,sans-serif; font-size: 10pt;">deger1 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Text <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">)/ <span style="font-family: Verdana,sans-serif; font-size: 10pt;">System <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Convert <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">ToInt32 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">( <span style="font-family: Verdana,sans-serif; font-size: 10pt;">deger2 <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">. <span style="font-family: Verdana,sans-serif; font-size: 10pt;">Text <span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">));

<span style="color: #0000b8; font-family: Verdana,sans-serif; font-size: 10pt;">}

<span style="font-family: Verdana,sans-serif; font-size: 10pt;"> buton4_Click işlevinde, çalışma zamanında bir nesnenin özelliklerinin nasıl değiştirildiğini görüyoruz.button4 bölme işlemi yaptığından isaret.Text="/"; yazdık. sonuc adlı textbox formunun Text özelliği bir string ifadesi olduğu için işlemlerimizi yaptıktan sonra sonuc.text ifadesine atama yapabilmek için System.Convert isimalanında bulunan ToString işlevini kullanarak ifadeyi String türüne dönüştürüyoruz. Aynı şekilde String olarak aldığımız türler için aritmetik işlem yapabilmek için yine aynı isimalanında bulunan ToInt32 işlevi ile String türünü int32 formatına dönüştürüyoruz. Bütün bu işlemleri 4 butonumuz için yaptığımızda dört işlem yapabilen basit ve bol bol bug içeren (unutmayın amacımız sadece formların kullanımını öğrenmek) bir hesap makinamız olacak.