C# `a Giriş ( Windows Application )

20 Şubat 2007 – 00:57

Tekrar Merhaba
arkadaşlar . C# Derslerine Console Application bölümü ile bir giriş
yapıp biraz ilerlemiştik . Şimdi kaldığımız yerden birazdan görsel
çalışarak devam edelim.Peki Windows Application ile nasıl çalışacağız
dersek ilk olarak nasıl açacağız bu pencereyi ? Bu pencereyi Console
Application bölümünü açtığımız gibi New Project penceresini açarak
ulaşabiliriz . Açılan pencereden bu sefer Windows Application `ı
seçeceğiz. Daha sonra karşımıza aşağıdaki gibi bir pencere açılacak .

Artık bu pencere bizim çalışma alanımız olacak .
Kısaca bu pencereyi bir tanıyalım derslerde ilerledikçe daha iyi
tanıyacağınızdan eminim. Form1 olarak nitelendirilen  bölüm programımızı
derlediğimizde karşımıza çıkacak olan penceredir . Tüm nesneler (
butonlar , labellar , textboxlar …) bu pencere üzerinde barınacak .
Solda bulunan Pointer , Label , Buton … ları üzerinde barındıran bölüm
Araç Çubuğumuz ( Toolbox) . Sağdaki bölüm ise Nesnelerimizin
özelliklerini değiştirebileceğimiz bir bölümdür ( Properties ) . Örneğin
Şu anda Form1 aktif olduğu için Form1 in özellikler penceresi açık
durumda . Şimdi isterseniz küçük bir örnekle hem Windows Application `nın 
nasıl çalıştığını hemde nesneleri tanımaya başlayalım .

 

Öncelikle 1 adet textbox , 1 adet botun ve 2
adet label `ı araç çubuğu olarak nitelendirdiğimiz bölümden bildiğimiz
sürükleyip bırakma yöntemi ile Form1 üzerine bırakalım .

Textbox
:
Programı
çalıştırdığımızda içerisine bir şeyler yazabileceğimiz bir nesnemizdir .
Yada otomatik olarak program tarafından da bir şeyler yazdırabiliriz .

Buton :
Tetikleyicidir . Butona tıkladığınızda programı işler yapması için onay
vermiş olursunuz .

Label :
İse üzerine ya program başlamadan önce bilgilendirme amaçlı olarak
yazıların yazıldığı yada programın çalışması esnasında bir şeyler
yazması için kullanabiliriz .

 

Örnek – 1 ) : İsim
Yazdırma

Yukarıda bahsettiğimiz nesneleri Form1 üzerine
ekledikten sonra nesneler üzerinde otomatik olarak gelen yazıları
silmeyle işe başlayalım ( button1 , label1 gibi ) . buton1 üzerine 1
kere tıklayalım daha sonra sağ taraftaki özellikler bölümünden  Text 
bölümünü bulalım yan tarafında button1 yazıyordur o yazıyı silip oraya
İsim Yazdırma  yazalım ve enter tuşuna basarak onaylayalım . Eğer
properties ekranı pencerenizde görünmüyor ise nense üzerinde sağ tuş
tıklayarak açılan pencerenden properties ` i işaretleyerek de
ulaşabilirsiniz .   Bu yöntemi takip ederek  label ve textbox üzerindeki
yazıları da silelim. Ve formumuza şöyle bir görnüm verelim

Bu işlemlerde bittikten sonra buton1 üzerinde çift
tıklayarak aşağıdaki gibi bir pencereyi açalım 

 

src="win1_files/image001.jpg" v:shapes="_x0000_s1025">

 

imlecin yanıp söndüğü bölüme aşağıdaki kod bloğunu
yazalım ve ilk programımız çalıştıralım.

 

 


int

secim=int.Parse(textBox1.Text);


                        switch(secim)


                        {


                             case
1: label1.Text="Tahir";


                                  
break
;


                             case
2: label1.Text="Mehmet Salih";


                                  
break
;


                             default
: label1.Text="1 yada 2 giriniz Demiştim !";


                                  
break
;


                        }

 

 

 

Bu örnekte ne yapmaya çalıştık ? Bu örneğimizde bir
tektbox tan aldığımız bir değeri ince integer olan secim e aktardık .
daha sonra bunu switch ile gelen sayıya göre label da neler yazacağını
belirlemiş olduk . Tüm bu işlemler buton a basıldığı zaman gerçekleşiyor
çünkü tüm kod bloğunu button1_click yani buton a tıklandığı zaman
çalışması için görevlendirildi .

 

Örnek – 2 ) : 1 den 10 a
kadar olan sayıların kareleri

Bu örneğimiz için 1 tane buton 1 tanede label
eklemeniz yeterli olacaktır . Formu aşağıdaki gibi tasarlayalım

daha sonra buton a çift tıklayalım ve şu şekilde
bir kod bloğu yazalım


 


int

karebul(int i)


            {


                  return i*i;


            }


            private
void button1_Click(object
sender, System.EventArgs e)


            {


                  int a;


            for (a=1;a<=10;a++)


            {


                  label1.Text += a+ " sayısının karesi =" +
karebul(a)+ "\n";


                                          }


            }


 

 

gördüğünüz gibi button1_Click üzerine basit bir
fonksiyon yazdık . Ve buton a basıldığında bu fonksiyon çağrılıyor .

 

Örnek – 3 ) : Maximum
Bulma

Bu örneğimizde textboxlar dan alacağımız iki değeri
karşılaştırıp label ve textbox a en büyüğünü yazdıracağız. Bu form
tasarımında 3 adet textbox , 1 adet buton , 1 adet label ekleyerek
aşağıdaki  tasarımı oluşturalım.

daha sonra buton a yükleyeceğimiz kod bloğu şu
şekilde

 


double

maxbul(double sayi1 ,
double sayi2)


      {


            return(Math.Max(sayi1,sayi2));


      }


            private
void button1_Click(object
sender, System.EventArgs e)


            {


             double deger1=double.Parse(textBox1.Text);


      double deger2=double.Parse(textBox2.Text);


      textBox3.Text=maxbul(deger1,deger2).ToString();


label1.Text=maxbul(deger1,deger2).ToString();


            }

 

Bu örnekte yapmış olduğumuz işlemde iki farklı
textbox tan aldığımız değerleri double olan deger1 ve deger2
değişkenlerine aktarıp maxbul fonksiyonuna gönderip sonucu da  textbox3
ve label1 e yazdırmak oldu .

 

 

Örnek – 4 ) : Üye Girişi

Bu örneğimizde bir kullanıcı giriş penceresi örneği
vereceğiz . Önceden bir kullanıcı adı  - şifresi belirleyeceğiz ve
programı derlediğimizde bu değerleri doğru yada yanlış girişimize göre
label a bir şeyler yazdıracağız . Bu tasarım için 3 adet label , 2
textbox , 1 buton eklememiz yeterli olacaktır .

Daha sonra buton a ekleyeceğimiz kod bloğu
aşağıdaki gibi olacaktır .

 


bool

login(string kadi,int
pass)


            {


                  if(kadi=="tahir"
&& pass==1234)


                  {


                        return
true;


                  }


                  else


                  {


                        return
false;


                  }


            }


            private
void button1_Click(object
sender, System.EventArgs e)


            {


            string kadi=textBox1.Text;


            int pass=int.Parse(textBox2.Text);


                  if(login(kadi,pass)==true)


                  {


                        label3.Text="Hoşgeldin Sahip";


                  }


                  else


                  {


                        label3.Text="Sen de Kimsin ?";


                  }


            }

 

Burada bahsetmek istediğim
bool
fonksiyonu . Bu şekilde bir fonksiyon tanımladığımız da bize
doğru yada yanlış şeklinde değer döndürür.  if içerisinde de kem
kullanıcı adı hem de şifreyi kontrol edilmesi var .

 

Örnek – 5 ) : Yıldız
Çizme

Bu örneğimizde bir fonksiyon tanımlayacağız ve
kullanıcıdan alacağımız değere göre örneğin 3 yazarsa kullanıcı 3 e 3
lük bir yıldızlardan oluşan kare çizeceğiz

her zaman ki gibi buton kod bloğumuz aşağıdaki gibi
olacak .

 


void

yildiz(int deger)


            {


                  for(int
i=0;i<deger;i++)


                  {


                        for (int
j=0;j<deger;j++)


                        {


                             label1.Text+=" * ";


                        }


                        label1.Text+="\n";


                  }


            }


            private
void button1_Click(object
sender, System.EventArgs e)


            {


            label1.Text=" ";


                  int a=int.Parse(textBox1.Text);


                  yildiz(a);


            }

 

 


**Araç Çubuğumuzdan ( Toolbox ) birkaç nesne
daha tanıyalım

 

Main Menü :
Açılır menü oluşturmak için kullanılır ( Dosya , Düzen menüleri gibi ) .
Açılır menülere eklediğimiz metinlere görev atamak için üzerinde çift
tıklamamız yeterlidir .

 

Context Menü :
Form üzerinde yada form üzerinde bulunan nesneler üzerinde sağtuş ile
tıkladığımızda açılacak olan menüdür . Context menü oluşturduktan sonra
o nesnenin yada formun özellikler ( properties ) bölümünden Context menü
seçeneğini seçmeinz yeterlidir .

 

Picture Box :
İçerisine resim  ekleyebileceğimiz bir seçenek. Özellikler (properties)
bölümünden  Image sayesinde içerisine resim alabiliriz . Size Mode ile
resmin boyutunu ayarlayabiliriz  .

 

Month Calendar :Formumuza
takvim eklemek için kullanılır . Özelliklerinden MaxSelectionCount `u 1
seçersek takvim üzerinde sadece tekli seçim olanağı sağlar ç Eğer
işaretlenen tarihi ekrana yazdırmak istiyorsanız örneğin label`a

 

label1.Text =
monthCalendar1.SelectionStart.ToShortDateString ( ) ;

 

Eğer ToShortDateString ( )  yerine 
ToLongDateString ( ) yazsaydık 26 Kasım 2005 cumartesi gibi uzun tarih
şeklinde yazardı .

 

Timer :
Formumuzda saat ile ilgili işlemler yapabilmek için kullanırız .

 

label1.Text = DateTime.Now.ToLongTimeString
( ) ;
ile ekranda dijital bir saat oluşturabiliriz.

 

Tool Tip :
Eklemiş olduğumuz butonun üzerine geldiğimizde kullanıcıyı yönlendirmek
için görünecek küçük mesaj kutuları göstermek için kullanılır . Butonun
özellikleri ( properties ) bölümünden Tool Tip bölümüne yazarız .

 

 Tab Control :
Çeşitli pencereler oluşturmak için kullandığımız bir şeçenektir .

 

Tab Pagelerin isimlerini değiştirmek için
Özellikler ( properties ) bölümünden Tab Pages Collection `dan
değiştirebilirsiniz .

 

List Box :
İçerisinde geçici olarak listeler oluşturmak için kullanılır ( Eğer Item
Colection bölümünden kalıcı eklemez isek )

 

Combo Box :
Açlılır liste oluşturmak için kullanılır . Verileri önceden eklemek için
özellikler bölümünden Items Collection yardımı ile ekleyebiliriz .

 

ListView :
Excel çalışma sayfası şeklinde hücrelerden oluşmuş geçici kayıt alanı
oluşturmak için kullanılır . Aynı anda bir nesne için üç özellik
kaydetmek istiyorsanız çok kullanışlıdır . Örneğin bir kişinin adı ,
soyadı ve cep telefonu bilgilerini  kaydetmek için listview`i
kullanabilirsiniz .

 

**Şimdi hep beraber hem listview`e hem de listbox
`a katır yapan bir örnek yapalım .

 

Örnek – 6 ) : Bilgi
Kaydetme

Bu örneğimizde öğrencilerin isimlerini , okul
numaralarını ve sınıflarını alacağız . 3 bilgiyi listview`e sadece okul
numarasını da listbox`a kaydedeceğiz .  3 adet textbox , bir tane
listbox,1 tane listview , 1 tane buton ve 1 tanede combobox ekleyelim
formumuza .

 


ListViewItem deger; // listview nesnesi için bir değişken
tanımlıyoruz


                  string []depo=new
string [4]; //listviewde
saklayacağımız


            // 4 değer için bir dizi tanımlaması yapıyoruz


                  // isim bölü boşmu kontrolü


                        if
(textBox1.Text==null)


                        MessageBox.Show("isminizi giriniz");


                  else


                  {


                        mykayit.gelenAd=textBox1.Text;


                        depo[1]=mykayit.gelenAd;


                  }


                  //okul no boş mu kontrolü


                  if(textBox2.Text==null)


                        MessageBox.Show("lütfen okul numaranızı
giriniz");


                  else


                  {


                        mykayit.gelenNo=textBox2.Text;


                        depo[2]=mykayit.gelenNo;


                  }


                  //sınıf bilgisi boş mu kontolü


                  if(textBox3==null)


                        MessageBox.Show("lütfen sınıfınızı
giriniz");


                  else


                  {


                  mykayit.gelenSinif=int.Parse(textBox3.Text);


                        depo[3]=mykayit.gelenSinif.ToString();


                  }


                  if(textBox1.Text!=null
&& textBox2.Text!=null &&
textBox3.Text!=null)


                  {


                  //eğer okul no daha önceden girilmemiş ise
kayıt işlemi                   //gerçekleşir bunu Contains ile
listboxta varmı kontrolü


                  //sağlıyor


                        if(listBox1.Items.Contains(mykayit.gelenNo)==false)


                        {


                             deger=new
ListViewItem(depo);


                             listView1.Items.Add(deger);


                            
listBox1.Items.Add(mykayit.gelenNo);


                        }


                        else


                             MessageBox.Show("kayıt daha önceden
girilmiş");


                  }


                  else


                        MessageBox.Show("kayıt boş alanladan
dolayı gerçekleşmedi");


            }


 


            private
void checkBox1_CheckedChanged(object
sender, System.EventArgs e)


            {


                  //Combobox `ın işaret durumu değiştiğinde
listbox`görünür


                  //yada görünmez kılmak  için


                  if(checkBox1.Checked==true)


                        listBox1.Visible=true;


                  else


                        listBox1.Visible=false;


            }


 


            private
void Form1_Load(object
sender, System.EventArgs e)


            {


                  //Form başlarken listbox ı gizlemek iin


                        listBox1.Visible=false;


            }

 

Bookmark and Share

Post a Comment

Subscribe without commenting