SlideShare a Scribd company logo
Temel Düzeyde Visual
Studio Eğitimleri
Visual Studio Ortamının
İncelenmesi
Bilgi Teknolojisi Eğitim Programları
Bu Çalışma Univerist Materyal geliştirme ekibi tarafından Bilgi
Teknolojileri Eğitimleri için derlenmiştir. Dökümanla ilgili kaynaklar
makalenin sonunda “Kaynakça” kısmında detaylı bir şekilde belirtilmiştir.
1
1. GEREKLİLİKLER
1.1. .NET FRAMEWORK
.NET Framework, farklı programlama dilleri ve kütüphaneleri ile birlikte daha kolay Windows tabanlı
uygulamalar oluşturmak için Microsoft tarafından yapılan geliştirme ve uygulama ortamıdır. .
 NET Framework, Windows tabanlı uygulamalarda gerekli olan alt yapıyı sağlar.
 Standart network (ağ) protokol ve şartnamelerini destekler.
 Farklı programlama dillerini destekler.
 Farklı dillerde geliştirilen kütüphane programlarını destekler.
 Windows Server ailesi ve Windows XP,7,8 gibi farklı platformları destekler.
NET Framework, Common Language Runtime (CLR) ve Framework Class Library (FCL) olmak
üzere iki ana parçadan meydana gelmektedir. Bunlarla ilgili detaylı bilgi ileride verilecektir.
1.2. VISUAL STUDIO .NET
Visual Studio .NET, Windows ve Web uygulamalarını geliştirmek için bir ortamdır.En büyük
özelliklerinden birisi IDE (Integrated Development Environment-Tümleşik Geliştirme Ortamı)
dediğimiz ortak bir uygulama geliştirme platformu sunmasıdır. Visual Basic .NET, uygulamalarınız
için kullanacağınız dillerden sadece biridir. Gerçekte Visual Studio .NET birçok dile ev sahipliği
yapacak şekilde tasarlandı ve birçok firma, Visual Studio .NET içerisindeki tümleşik birçok dille
çalışıyor. İster C#, J#, C++ ile uygulama geliştirin, ister Visual Basic .NET ile; kullanacağınız en etkin
ve ortak uygulama geliştirme platformu Visual Studio .NET olacaktır.Öyleyse Visual Studio. NET ile
diğer programlama dilleri arasındaki fark nedir?
Visual Studio .NET uygulamaları geliştirmek için gerekli tüm araçları sağlayan bir
ortamdır.Programlama dilleri Windows uygulamalarının sadece bir yönüdür. Uygulamaların sanal
arabirimi özel bir dile bağımlı değildir. Uygulamalarınızın arabirimleri programların uygulamaları için
kullandıkları dil koduna bakılmadan tüm programlar tarafından aynı zamanda kullanılabilir. Visual
Studio .NET, veri tabanına bağlantı sağlamak, nesneleri kontrol etmek, bilgilere yeniden ulaşma ve
hatta herhangi bir dilden ulaşabileceğiniz nesneleri depolamak için araçlar sağlar.
1.2.1. Visual Studio .NET Programının Kurulması
Visual Studio .NET paketinde Visual Basic .NET, Visual C++ .NET, ve Visual C# .NET programlama
dilleri yer almaktadır. İsteğe bağlı olarak tüm programlama dillerini kurabileceğiniz gibi sadece bu
modülde incelenecek olan Visual Basic .NET’i de kurabilirsiniz.Visual Studio .NET CD/DVD’sini
bilgisayarınıza takınca ekrana Visual Studio .NET kurulum penceresi gelir.
2
Resim 1.1: Visual Studio .NET kurulum penceresi
Visual Studio .NET kurulum penceresinde “Install Visual Studio 2010” sekmesi seçilerek kurulum
başlatılır.
Resim 1.2: Visual Studio .NET son kullanıcı lisans sözleşmesi penceresi
3
Lisans sözleşmesini kabul etmek ve kuruluma devam etmek için “I accept the agreement
(Sözleşmeyi kabul ediyorum)” yazan seçeneği işaretliyoruz. Böylece Next butonu aktif hale
geliyor. Next butonunu tıkladığınızda kurulum seçenekleri, kurulumun nereye yapılacağı ve
bilgisayarınızdaki sabit sürücülerin disk kapasitesini gösteren pencere gelecektir.
Resim 1.3: Visual Studio .NET kurulum seçenekleri penceresinin görünümü
Kurulum seçenekleri penceresinde Full ve Custom seçenekleri bulunur.
 Full: Üründeki tüm özelliklerin kurulumu
 Custom: Üründeki tanımlı özellikleri seçme veya iptal etme
Bilgisayarınıza Visual Studio .NET 2010 içerisinde bulunan programlama dillerinden sadece Visual
Basic .NET programını kurabilmeniz için “Custom” seçeneğini işaretlemeniz yeterli olacaktır.
4
Resim 1.4: Custom seçeneği seçildikten sonra kurulum penceresine ait görünüm
Resim 1.4’te verilen yapıya benzer şekilde kurulum özelliklerini belirledikten sonra “Install”
düğmesine tıklayınca kurulum başlayacaktır (Resim 1.5).
Resim 1.5: Kurulum başlama görüntüsü
5
1.3. WINDOWS VE WEB FORMLARI
Windows formları, projenin kullanıcı arabirimidir. Hazırlayacağınız projelere bilgi giriş ve çıkışını bu
formlar ve üzerine yerleştireceğiniz nesneler yardımıyla yapacaksınız. Visual Basic .NET’te form
eklemek için Solution Explorer penceresindeki projeyi kaydettiğiniz ada sağ tıklayınca gelen
menüden sırasıyla “Add/Windows Form” komutları verilir (Resim 1.6, 1.7).
Resim 1.6:Windows Form ekleme penceresi Resim 1.7:Windows Formu
Programın kullanıcı arabirimini yani formu görüntülemek için Solution Explorer penceresindeki View
Designer düğmesini, kodlarını görüntülemek için ise View Code düğmesini tıklayabilirsiniz.
Visual Basic .NET ile programlama yaparken Web Formlarını da kullanabilirsiniz. Web formları iki
bileşenden oluşur; görsel kısım ve kod kısmı. Görsel kısım içlerinde HTML elemanlarını ve Web
Form kontrollerini barındırır. Hem Görsel kısım hem de Kod kısmı .aspx dosyamızın içinde yer alır.
Web From eklemek için File Menüsü / New / File komutları sırasıyla verilir (Resim 1.8).
6
Resim 1.8:Web Form ekleme penceresi
Web formu projenize ekledikten sonra tasarıma ve kaynak kod yazmaya imkân veren bir pencere
karşınıza çıkar (Resim 1.9,1.10).
Resim 1.9:Web Form Tasarım (Design) penceresi
7
Resim 1.10:Web Form Kaynak Kod (Source) penceresi
Web formlarını ve kodlarını ayrı ayrı yazsak bile aslında bunun ikisi tek bir birim olarak ele alınır.
Web formları .NET Framework'u tarafından derlendikten sonra tek bir sınıf olarak ortaya çıkar.
Ortaya çıkan yeni sınıfımız Visual Basic .NET'in Page sınıfından türetilmiş bir sınıf olup ek olarak
içinde sizin kodlarınız, Web form kontrolleri ve statik HTML kodları yer alır.
Web formlarının web sunucusunda çalışma şekli normal bir web sayfası veya herhangi bir Web
programlama modeline çok benzer. Önce sayfa ,Web sunucusundan istenir. Sunucu sayfayı bulur
ve eğer sayfa dinamik sayfa ise (asp, php, jsp veya aspx gibi) gerekli işleri dinamik içerik
oluşturmadan sorumlu bileşen yapar ve kullanıcının tarayıcısına yollanır. Fakat ASP.NET'te .NET
Framework birçok işi sizin yerinize yapar. Mesela tarayıcınızın yapısına göre en uygun sonuç üretilir
ve Web sunucusuna, oradan da size yollanır.
1.4. INTERNET TARAYICISI, HTML
Hyper Text Markup Language (HTML) belgelerin birbirlerine nasıl bağlanacaklarını ve belge içindeki
metin ve resimlerin nasıl yerleşeceklerini belirleyen ve etiket (tag) denilen kod parçalarından oluşan
bir sistemdir. HTML, internet üzerinde Web sayfası oluşturmak için kullanılan bir dildir. HTML
dosyalarının aktarımı için HTTP (Hyper Text Transfer Protocol) kullanılır. HTML dosyaları sunucu
bilgisayarın sabit diskinde .html ya da .htm uzantısı ile saklanır. Html dosyaları düz yazı
dosyalarından başka bir şey değildir. Visual Basic .NET ile programlama yaparken HTML Page
sayfalarını da kullanabilirsiniz. HTML Page tıpkı Web Form gibi iki bileşenden oluşur; tasarım ve
kaynak kod kısmı. Tasarım kısmı içlerinde HTML elemanlarını ve Web Form kontrollerini barındırır.
Hem tasarım kısmı hem de kaynak kod kısmı aynı .htm dosyanızın içinde yer alır. HTML sayfası
eklemek için File Menüsü / New / File / HTML Page komutları sırasıyla verilir.
8
1.5. GUI (GRAPHICAL USER INTERFACE)
Çeşitli Windows uygulamaları geliştirmek için formlar kullanılır. Bu formlar programın görsel kısmını
oluşturup pencereler, menüler, düğmeler vb araçlar yoluyla kullanıcı ile iletişim kurmayı sağlar. Form
ve üzerindeki kontrol elemanları beraberce grafiksel kullanıcı arabirimi (GUI) olarak
adlandırılmaktadır.GUI, formlar aracılığıyla programlar çalıştırmayı, komutlar vermeyi, bilgisayarla
etkileşim kurmayı sağlayan görsel temelli çalışma ortamıdır.
Resim 1.11: Grafiksel kullanıcı arabirimi (GUI)
2. WINDOWS UYGULAMASI
2.1. PROJE, KAYNAK DOSYA, SOLUTION
Visual Basic .NET’i çalıştırmak için programı kurduktan sonra Başlat/Programlar/Microsoft Visual
Studio/Microsoft Visual Studio işlem sırası izlenir.
Resim 2.1:Visual Studio .NET’i başlatma ekranı
9
Program çalıştırıldığında önce aşağıdaki Start Page diyalog kutusu ekrana gelir (Resim2.2).
Giriş sayfasında bulunan Recent Projects kısmında bulunan Open Project (Proje Aç) ile daha önce
kaydedilmiş bir projeyi açabilirsiniz. Create Project (Proje Oluştur) ile de yeni bir proje oluşturmak
için ilk adımı atabilirsiniz.Getting Started seçeneği ise Visual Studio .NET ile ilgili bilgilere ve örnek
uygulamalara ulaşmak için kullanılabilecek seçenekler bulunur.
2.1.1.Proje Çeşitleri
Standart araç çubuğunda bulunan New Project ya da Recent Project kısmında bulunan Create
Project seçeneği tıklandığında hazırlayacağınız programlara uygun projeler seçilebilir.
Windows Form Application (Windows Form Uygulaması)
Geleneksel bağımsız (Standalone) Windows uygulamaları ve Web ya da İnternet üzerinden
çalışabilen dağıtık (distributed) ağ uygulamaları geliştirmek için kullanılan menüdür. Örneğin,
Windows Hesap Makinesi, Wordpad, Skype, Visual Studio vb…
Bizlerde girişte konuları daha iyi anlamak için Windows Form Uygulamaları oluşturarak gideceğiz.
WPF (Windows Presentation Foundation) Application (Windows Sunum Temelli Uygulama)
WPF altyapısını kullanan bağımsız Windows uygulamaları geliştirmek için bu projeyi kullanırız.
WPF, Microsoft DirectX teknolojisini kullanarak işletim sisteminin kullanıcı arayüz özelliklerine ilave
olarak daha zengin bir kullanıcı arayüzü sunar. WPF projelerinde kullanıcı arayüzü elemanlarına
erişim için XML tabanlı bir dil olan XAML dili kullanılmaktadır.
10
Console Application (Konsol Uygulaması)
Grafik bir ara yüzden son derece uzak olan uygulamalardır. Kullanıcı ile olan etkileşimi tamamen
metin tabanlıdır ve bu etkileşim komut satırı üzerinden gerçekleştirilir. Windows komut satırı
üzerinden çalıştırılan programlar buna örnek olarak gösterilebilir.
Class Library (Sınıf Kütüphanesi)
Birçok uygulama tarafından ortak olarak kullanılabilecek sınıf ve bileşenler oluşturmak için kullanılır.
.dll dosyaları sınıf kütüphanesi tipinde olan dosyalara örnek olarak gösterilebilir.
WPF Browser Application (WPF Web Tarayıcı Uygulaması)
Teknoloji açısından karşılaştırıldığı zaman WPF uygulamalarıyla aynıdır. WPF uygulamaları
doğrudan işletim sisteminde çalıştırılır. WPF Web uygulamaları ise Web Tarayıcısı ile çalıştırılır.
Aradaki fark budur. Bu sayede Web Tarayıcısına gömülü uygulamalar geliştirebilirsiniz.
Empty Project (Boş Proje)
Kendi proje tipimizi oluşturmak istediğimiz zaman bunu kullanabiliriz. Bu proje seçildiğinde sadece
uygulama bilgilerini saklamak için gereken dosya yapısı oluşturulur. Gerisi size kalmıştır. Sınıf ve
referansları sizin eklemeniz gerekir.
Visual Basic .NET projelerinize otomatik olarak isim verecek ve “BelgelerimVisual Studio
2010Projects “ klasörü altında yine kendi adında bir klasör oluşturarak kaydedecektir. İsterseniz
projenin adını ve konumunu değiştirebilirsiniz.
2.2. MSIL (MİCROSOFT INTERMEDİA LANGUAGE)
MSIL (Microsoft Intermediate Language) yani Microsoft Ara Dili , nesneye yönelik programlamayı
destekleyerek, Visual Basic .NET’te yazmış olduğunuz kodların ilk derleme anında dönüştürüldüğü
bir ara dildir.MSIL işlemciden bağımsız komut setinden oluşmaktadır. Bu komut seti içerisinde
nesnelerin yüklenmesi, depolanması ve çalıştırılmasını sağlayan komutların yanı sıra aynı zamanda
nesneler üzerinde metot çağrımını sağlayan komutlar da yer almaktadır. .NET Framework ile
yazılmış bir kaynak kodun derlenmesi sonucu MSIL kodu oluşmaktadır. NET uygulamalarının
kaynak kodları çalışır hale gelebilmek için iki derleme aşamasından geçmektedir.
İlk derlemede kaynak kodunuz, MSIL (Microsoft Intermediate Language) ara dili ile, Assembly
(sembolik makine) diline yakın bir dile dönüştürülmektedir. Oluşan .exe ve .dll dosyalar yürütülebilir
kodlar yerine ara dil içermektedir. Bu dosyaları çalıştırmak istendiğinde, devreye CLR girecektir. Bu
ara dildeki talimatlar, ikinci derleme aşamasına girecektir ve doğal makine koduna dönüşecektir. Bu
ikinci derleme, uygulamanın çalışacağı yerde olacağından oluşacak doğal kod o ortama özgü
olacaktır.
2.3. ASSEMBLY (BÜTÜNLÜK) VE NATIVE CODE (DOĞAL KOD)
Assembly; herhangi bir mikroişlemciye ait sembolik makine dilidir. Makinenin anlayabildiği tek dil 0
ve 1’dir. Makine dili çok hızlıdır. Çünkü yapılan tek işlem hexadecimal bir sayıyı binary sayıya
çevirmektir. .NET 'teki Assembly kavramı ile herhangi bir mikroişlemciye ait makine dili birbirlerinden
çok farklı şeyleri ifade etmektedir. Net 'te derlenen sınıf kütüphaneleri (class library 'ler) ismine
11
Assembly denilen dll dosyalarını oluşturur. Bu anlamda bir Assembly; bir ya da daha fazla fiziksel
dosyayı barındıran bir koleksiyondur. Bu dosyalar; Assembly içerisindeki derlenmiş sınıfların kodları,
resimler, resource dosyaları ve diğer binary dosyalardır. Daha önceden Visual Basic programı ile,
bilgisayarınızda hazırladığınız bir uygulamayı, kopyalayıp başka bir bilgisayara taşıdığınızda
uygulamanın çalışmadığını görürdünüz. Bunun nedeni; uygulamayı taşıdığınız bilgisayardaki işletim
sisteminin, uygulamanızın kullandığı bileşenler hakkında herhangi bir bilgiye sahip olmamasıydı. Bu
bilgiyi alamamasının nedeni kimlik bilgilerini (isim, versiyon bilgisi vb.) registry'e (kayıt defteri)
yazmalarıydı.
Visual Basic.NET’te ise geliştirilen Assembly tekniği sayesinde bir Visual Basic .NET programı
bulunduğu dizin ile birlikte (.Net Framework'ün kurulu olduğu) başka bir bilgisayar kopyalandığında
çalışacaktır. Çünkü .Net Assembly'leri; olarak kimlik bilgilerini registry'e yazmak yerine kendi
üzerlerinde taşır.
2.4. .NET FRAMEWORK CLASS LIBRARY VE COMMON LANGUAGE RUNTIME
.NET Framework aşağıdaki bileşenleri içerir.
*Framework Class Libraries:
Temel sınıf kütüphanelerinden sorumludur. Nesneye dayalı işlevsel kütüphane fonksiyon paketlerini
içerir. Giriş/çıkış, string işlemleri, güvenlik yönetimi, ağ iletişimi, thread yönetimi, metin işleme ve
kullanıcı arayüz tasarımı gibi standart fonksiyonları kapsamaktadır.
ADO.NET sınıfları; OLE DB, ODBC, Oracle ve SQL Server arayüzleri üzerinden veriye erişimi
sağlamaktadır. XML sınıfları ise XML manipulasyonu, XML veri içerisinde arama yapabilme ve
dönüşüm fonksiyonları gibi temel fonksiyonlara sahiptir. ASP.NET sınıfları Web tabanlı uygulamalar
ve Web servisleri geliştirebilmek için destek sağlamaktadır. Windows Forms sınıfları ise masaüstü
uygulamaları geliştirebilmeyi sağlamaktadır.
Sınıf kütüphaneleri, .NET Framework dilleri arasında ortak, tutarlı bir geliştirme arayüzü
sağlamaktadır.Sınıf kitaplıklarında ASP.NET, ADO.NET, Windows Formları ve Enterprise Services
teknolojileri yer almaktadır.
 ASP.NET: Web servislerine tam destek vererek, Web erişimli uygulamaları geliştirmek için
kullanılır.
 ADO.NET: İlişkisel veri tabanı yönetim sistemlerinde yer alan verilere erişmek için kullanılır.
 Windows Forms; Her bir .NET Framework programlama dili için, Windows tabanlı
arabirimler yapmak için standart sınıflardan meydana gelir.
 Enterprise Services; COM+ servislerine erişmek için ilgili sınıfları içerir.
12
Şekil 2.1: .NET Framework altında çalışan teknolojiler
*Common Language Runtime (CLR):
Common Language Runtime çalışma zamanı servislerinden sorumludur. .NET uygulamalarının
değişik sistemler üzerinde çalışmasını sağlayan çalışma zamanı kütüphaneleri sağlar. Uygulamaları
yönetmeye yardımcı olacak servisleri sağlayan tarafsız geliştirme ve uygulama ortamlarını içerir.
Programlama dillerinin entegrasyonu (language integration), güvenlik (security), bellek (memory),
süreç (process) ve thread (iş parçacığı) yönetimi çalışma zamanı servislerindendir.
CLR'nin sağladığı ve sorumlu olduğu bazı servisler aşağıda listelenmektedir:
 Code Management- Kod yönetimi
 Type Safety -Tip güvenliğinin doğrulanması
 Intermediate Language kodunun doğal makine koduna (native code)
 dönüşümünün sağlanması
 Managed Object -Yönetilebilir nesnelerin bellek yönetimi
 Code Access Security- Kod erişim güvenliğinin uygulanması
 Exception Management -İstisna yönetimi
2.5. INTEGRATED DEVELOPMENT ENVIRONMENT (IDE)
IDE’de birçok görsel araç vardır. Bu araçlar görsel menüler tasarlamaya izin verir. Bir menünün
tasarımı herhangi bir kod içermez ve tıklama işlemi ile gerçekleştirilebilir. Elbette herhangi bir dili
kullanarak menülerin ardına istenilen kod ilave edilebilir. IDE’nin amacı program geliştiricilerin kod
yazmadan önce görsel araçlar ile mümkün olan şeyleri yapmaya izin vermektir.
IDE, uygulamalarınız için tasarlama, çalıştırma ve hata ayıklamayı sağlar.
2.6. DOSYA AÇ VE KAYDET DİYALOG KUTULARI
Daha önce çalıştığınız bir projeyi açmak istiyorsanız File menüsündeki Open / Project butonu
tıklanır. Butonu tıkladığınız anda karşınıza “belgelerim” klasöründe yer alan Visual Studio Projects
klasöründeki projelere ait klasörler listelenir (Resim 2.4). Projelere ait klasörlerin başka bir dizinde
açılmasını istiyorsanız, genel olarak bunun yolunu değiştirebilirsiniz.
13
Resim 2.4: Visual Basic .NET Open Project penceresinin görüntüsü
Eğer yeni bir proje açmak istiyorsak File menüsündeki New Project butonu tıklanır. Yeni projelerin
neler olabileceğini daha önce öğrenmiştiniz. Üzerinde çalıştığımız bir projeyi kaydetmek için ise File
Menüsünde bulunan üç farklı kaydetme seçeneğini isteğinize göre kullanabilirsiniz (Resim 2.5).
Resim 2.5: Visual Basic .NET kaydetme komutları
Bunlardan birincisi Save Form1.vb’dir. Bu komut ile sadece aktif olan Windows Formunu
kaydetmek için kullanılır. Bir diğer komut olan Save Form1.vb As ise, aktif olan formun ismini veya
kayıt yerini değiştirerek kaydetmeye yarar. Üçüncü komut Save All’dır. Bu komut ise, projemiz
dahilinde tüm dosyaların kaydedilmesini sağlar.
2.7. *.VBPROJ, *.VB VE *.SLN DOSYA UZANTILARI
Visual Basic .NET, hazırlayacağınız programları projects (projeler) ve solution (çözümler) olmak
üzere tümleşik bir ortamda oluşturur. Solution birden fazla projeyi içerdiğinden aynı anda daha fazla
proje ile çalışabilmenizi sağlayacaktır.
Visual Basic .NET’te hazırlayacağımız programlar değişik uzantılarda kaydedilir. Kaydedilen bu
dosyaların hepsi program çalıştığında Solution Explorer penceresi altında yer alır (Resim 2.6).
14
 .sln: Solution Explorer penceresinde görülen projeler ve bunlara ait dosyaların kısa yollarının
kaydedildiği dosyanın uzantısıdır.
 .vbproj: Üzerinde çalıştığınız projenin uzantısıdır. İçerisinde projenin yapısını oluşturan
windows formları ve görsel sayfaları içerir.
 .vb: Projemiz ile ilgili olan tasarımın yapıldığı ve kaynak kodlarının yazıldığı windows
formlarının uzantısıdır.
2.8. FORM TASARIM, KOD DÜZENLEYİCİ, “SOLUTION EXPLORER”, ARAÇ ÇUBUĞU, ARAÇ
KUTUSU VE ÖZELLİKLER PENCERESİ
Visual Basic .NET ekranının genel görüntüsü aşağıdaki gibidir (Resim 2.7).
15
2.8.1. Solution Explorer
Solution Explorer, projenizde kullandığınız tüm dosyaları düzenlemiş olarak gösteren ve birbirleri
arasında kolay geçiş yapmanızı sağlayan arabirimdir. Üzerinde çalıştığınız projeye eklenen form ve
nesnelerin neler olduğunu görmek istiyorsanız Solution Explorer penceresine bakabilirsiniz. Visual
Studio.Net’ in sağ tarafında bulunur. Eğer ikinci bir proje Visual Studio.NET’ e dahil edilirse bu da
Solution penceresinde görülür. Solution Explorer penceresini görünür hale getirmek isterseniz
“Ctrl+Alt+L” kısayol tuşunu veya “View (Görünüm)” menüsünden Solution Explorerı tıklayarak
seçebilirsiniz. Solution penceresi ile, kod penceresini, form tasarımını, Properties penceresini ve
tüm dosyaları görüntüleyebilirsiniz.
Solution Explorer penceresindeki ilk seçeneğe sağ tıklayıp Add/Existing Item komutunu verince
ikinci bir proje ekleyebilirsiniz.
Resim 2.9: Açık olan iki projenin görüntüsü
16
Çalışılan iki projeden hangisinin başlangıç projesi olacağına yine biz karar verebiliriz. Hangi projeyi
aktif yapacaksanız onun üzerinde sağ tıklayıp Set Up StartUp Project komutunu vermeniz
gerekmektedir.
2.8.2. Form Tasarım Penceresi
Bu form programa ait kullanıcı arabiriminin oluşturulduğu yerdir. Yani tüm denetimler öncelikle bu
form üzerine yerleştirilir ve yerleştirilen denetimler bu forma ait birer nesne olarak çalışır. Burada
oluşturulan form görüntüsü, program çalıştığı zaman ekranda görülür.
Resim 2.10: Form Tasarım penceresi
2.8.3. Kod Penceresi
Programımızda bulunan denetim elemanlarına ait olay alt yordamlarının bulunduğu ve program
kodlarının yani asıl programın yazıldığı bölümdür. Visual diller programcının kendi kodunu yazacağı
bir editör sunar. Üzerinde çalışılan form veya kontrol elamanı çift tıklatıldığında kod penceresi
karşımıza gelecektir (Resim 2.11).
Visual Basic .NET’te program kodları yani programın çalışmasını sağlayan ve kullanıcı tarafından
yazılmış ifadeler Code (Kod) penceresi içerisine yazılır. Bu pencereye geçmenin iki yolu vardır.
*Solution Explorer penceresinde yer alan (View Code) ikonuna basarak geçilebilir.
17
*Form veya kod penceresi açılmak istenen form üzerindeki herhangi bir nesne üzerinde çift
tıklayarak da geçilebilir. Bu bölüme yazılan kodlar nesneler için önceden tanımlanmış alt yordamlar
şeklindedir. Bu alt yordamlar her nesne için değişiklik göstermektedir. Alt yordamlar program kod
penceresi bölümünde Private Sub ile başlayıp End Sub ile bitmektedir. Kodlar Private deyimi ile End
Sub deyimi arasına yazılmaktadır. Bir kodun çalışması ise nesneye ait tanımlı olayın gerçekleşmesi
ile olur.
2.8.4. Menü ve Araç Çubukları
Visual Basic .NET ortamını etkili bir şekilde kullanabilmek için gerekli olan komutlar menü
çubuğunda yer alan menü seçenekleri altında bulunmaktadır. Visual Basic .NET ortamını etkili bir
şekilde kullanabilmek için gerekli olan komutlar menü çubuğunda yer alan menü seçenekleri altında
bulunmaktadır.
Resim 2.12: Visual Studio menü çubuğu
 File menüsü: Proje açmak, kapatmak, kaydetmek, yazdırmak gibi dosyalama işlemlerinin
yapıldığı menüdür.
 Edit menüsü: Yapılan işlemleri geri ve ileri almak, bilgileri kesmek, kopyalamak, yapıştırmak,
aramak gibi işlemlerin yapıldığı menüdür.
 View menüsü: Pencereleri ve araç çubuklarını gizleyip göstermek için kullanılan menüdür.
 Debug menüsü: Programları adım adım çalıştırmak, hata ayıklamak vb. işlemler için
kullanabileceğiniz menüdür.
 Team Menüsü: Team Foundation Server bağlantısı için kullanılır. (Yazılım firmaları bir çok
yazılımcının ortak bir server üzerindeki proje üzerinde çalışmasını bu teknoloji ile sağlar).
 SQL Menüsü: SQL sorguları oluşturabileceğimiz bir editör açar.
 Tools menüsü: Projede yeni bir fonksiyon tanımlamak, üzerinde çalışılan pencerelerin
özelliklerini değiştirmek için kullanabileceğiniz menüdür.
 Test Menüsü: Projelerin test işlemleri için kullanılan menüdür.
 Architecture Menüsü: Kod mimarisinin şekil ile (diyagram şeklinde, ilgili kod mimari tipine
göre) oluşturulması için kullanılır.
 Analyze Menüsü: Kod performansları ve analizi için kullanılır.
 Window menüsü: Pencerelerin ayarlarını değiştirmek ve istenilen pencereye geçiş yapmak
için kullanılan menüdür.
 Help menüsü: Yardım seçeneklerine, .NET ile ilgili son bilgilere ulaşabileceğiniz menüdür.
Menüler altında bulunan komutlara kolayca erişebilmenizi araç çubukları sağlar. Çalışma sayfanızda
bulunmayan herhangi bir araç çubuğunu sırasıyla View Menüsü/Toolbars üzerine gelerek
ekleyebilirsiniz. Araç çubukları üzerinde bütün komutlar bulunmamakla birlikte istenilirse herhangi
bir komut düğmesini ekleyebilirsiniz.
18
2.8.5. Toolbox (Araç Kutusu) Penceresi
Visual Basic.Net’te kullanacağınız bir diğer pencerede ToolBox penceresidir. Visual Basic .Net
penceresinin sol tarafında bulunur ve gizlenmiştir. Fare ile üzerine gelindiğinde bu pencere açılır.
Projeleriniz formlar ve bu formlar üzerinde bulunan nesne dediğimiz elemanlardan oluşmaktadır. Bu
nesnelere kontrol elamanı veya denetim elemanı denmekte olup araç kutusu üzerinde
bulunmaktadır (Resim 2.14). Projenize istediğiniz herhangi bir kontrol elamanını, üzerine çift
tıklayarak ya da sürükle bırak ile ekleyebilirsiniz.
2.8.6. Properties (Özellikler) Penceresi
Bu kısım programlarınız için bir, oldukça önemli bir anlam ifade etmektedir. Bilindiği üzere Visual
Basic .NET dilinde program yaptığınız zaman programınıza ait form üzerinde bulunan bütün denetim
elemanlarının tamamı (Label, Text, Command button, Liste kutusu vb.) Visual Basic. NET derleyicisi
19
tarafından birer nesne olarak algılanır. Form üzerine yerleştirmiş olduğumuz nesnelerin ve formun
özellikleri bu pencerede listelenir. Propeties genel bir penceredir (Resim 2.15).
Properties penceresi eğer ekranda yoksa F4 fonksiyon tuşu ya da View menüsünden Properties
Window tıklanarak ekrana yerleştirilir.
2.9. “TOOL *OPTIONS* “ PENCERESİ
Bu seçenekle üzerinde çalıştığımız pencerelerin birçok özelliğini değiştirebiliriz. Bu seçeneği
seçtiğimizde aşağıdaki pencere görüntülenir (Resim 2.16).
20
Resim 2.16: Visual Basic .NET Tools/Options penceresi
Bu pencerede bulunan bazı seçenekler ve görevleri aşağıda açıklanmıştır.
Environment:
• General:
*Tabbed documents: Açık olan sayfaları çoklu sayfa biçiminde gösterir.
Resim 2.17: Visual Basic .NET sayfa görüntüleri
*Multiple documents: Sayfaların her biri ayrı bir pencerede açılır
(Resim2.18).
Resim 2.18: Visual Basic .NET sayfa görüntüleri
*Recent Files: File menüsünde Recent Files/Projects komutu altındaki son kullanılan
dosya/projelerden kaç tanesinin sıralanacağını belirtir.
*Show Status Bar: Durum çubuğunun ekranda görünüp görünmemesini sağlar.
• Add-in/MAcros Security:
Makroların çalışmasına, bileşenlerin bir URL adresinden yüklenmesine izin verilip verilmeyeceğini
ayarlar.
21
• AutoRecover:
Visual Basic .NET dosyalar üzerinde çalışırken belirtilen süre dolunca otomatik olarak işlemlerinizi
kaydetmeye ve otomatik olarak kaydedilen işlemleri belirtilen süre zarfında hafızada tutmayla ilgili
işlemlerin ayarlanmasını sağlar.
• Documents:
Sayfanın doğru yüklenip yüklenmediğinin kontrolünün yapılması ile ilgili ayarların yapıldığı yerdir.
• Find and Replace:
Bilgi ve uyarı mesajlarının gösterilmesi ile ilgili ayarların yapıldığı yerdir.
• Fonts and Colors:
Kod penceresinde yazılan ifadelerin renkleri ve font büyüklükleri ayarlanır.
Help:
Hazırladığınız dosyaların nereye kaydedileceğinin, Visual Basic .NET açıldığında başlangıç
sayfasının hangi sayfa olacağının ayarlandığı yerdir. Ayrıca Visual Basic .NET tarafından kullanılan
dili gösterir.
*HTML Designer:
Hazırlayacağımız HTML sayfalarının açılış sayfasının görsel sayfa mı kod sayfası mı olacağını
ayarlar.
*Windows Forms Designer:
Form üzerindeki noktaların gösterilip gösterilmeyeceğinin ayarlanabildiği yerdir. paylaşınız.
3. NESNELER
3.1. ARAÇ KUTUSU, ÖZELLİKLER PENCERESİNİN AYARLARI
3.1.1. Araç Kutusu Penceresi
Daha öncede belirtildiği gibi projeleriniz formlar ve bu formlar üzerinde bulunan nesne dediğimiz
kontrollerden oluşmaktadır. Araç kutusu üzerinde bulunan bu kontroller referanslar altında bulunur.
Bu kontroller araç kutusu üzerinde kategorize edilip listelenmektedir. Sırasıyla XML Schema, Dialog
Editor, All Windows Forms şeklinde sıralanmaktadır.
22
Kontrolleri, form üzerine yerleştirmenizin 3 yolu vardır :
 Toolbox'taki kontrolü tıklayınız. Fare, form üzerine getirilince + işaretibelirecektir. Bu + işareti
kontrolün sol üst köşesini belirtmektedir. Farenin sol tuşuna basılı tutarak fareyi sağ alt
köşeye doğru hareket ettiriniz. Fareyi bırakınca, bir dikdörtgen oluşacaktır.
 Toolbox'taki kontrolü çift tıklayınız. Kontrol varsayılan büyüklükte formun sol üst köşesinde
oluşur.
 Toolbox'taki kontrolü tıklayınız. Fare form üzerine getirilince + işareti belirecektir. Bu + işareti
kontrolün sol üst köşesini belirtmektedir. Tekrar farenin sol tuşuna tıklanırsa, varsayılan
büyüklükteki kontrol form üzerinde oluşacaktır.
Kontrolleri toplu olarak bir yerden başka bir yere taşımak, benzer özelliklerini toplu olarak
değiştirmek (mesela rengini, fontunu gibi) veya hizalamak (sola, sağa vb. gibi) için form tasarımı
sırasında bazen birden fazla kontrolle aynı anda çalışmanız gerekebilir.
23
 Birden fazla kontrolü seçmek
Birkaç yöntem vardır. Eğer kontroller birbirine yakınsa, kontrolleri fare ile çerçeve içine alıp
seçebilirsiniz. Bir başka yöntem de Ctrl veya Shift tuşuna basılı tutarak seçmek istediğiniz
kontrollerin tıklanmasıdır. Eğer kontrollerin hepsini seçmek istiyorsanız, kolayca Ctrl + A tuş
kombinasyonunu kullanılabilirsiniz.
 Birden fazla kontrolün seçimini iptal etmek
Çoklu kontrol seçimini bitirmek için, formun boş bir yerine (kontrol olmayan) tıklamanız yeterli
olacaktır.
 Kontrolleri grup olarak hareket ettirmek
Çoklu kontrol seçimi yaptıktan sonra, bunları grup olarak hareket ettirmek için, fareyi seçilmiş
kontrollerden birinin üzerinde bastırarak, kontrolleri sürükleyebilirsiniz.
 Çoklu kontrolün özelliklerini değiştirmek
Çoklu kontrol seçimi yapıldıktan sonra, sağ taraftaki Properties penceresinden istenilen özellikleri
değiştirilebilirsiniz. Örneğin BackColor özelliği değiştirilirse, bu tüm gruptaki kontrollere uygulanır.
Bazı özellikler boş gözükecektir. Bu özellikler grup olarak değiştirilemeyecek anlamına gelir. Örneğin
Name ve Text özellikleri.
 Kontrollerin yeniden boyutlandırılması ve hizalanması
Grup kontrol seçimi yapıldıktan sonra yeniden boyutlandırılması ve hizalanması,Layout araç çubuğu
ile çok kolaydır. Gruptaki kontrolleri bu araç çubuğundaki ikonlar yardımıyla, aynı genişlik (width) ve
yükseklik (height)'te yapabilirsiniz. Kontrolleri yukarı, aşağı, sola veya sağa hizalayabilirsiniz.
3.1.1.1. Toolbox’ta Bulunan Bazı Kontrol Elemanları
Toolbox’ta (Araç Kutusu) bulunan ve projelerinizi hazırlarken kullanacağınız kontrol elemanlarından
bazılarını tanıyalım.
 Button kontrolü
Button kontrolü, bir işlemin başlatılabilmesi için kullanılan kontroldür (Resim 3.2). Örneğin “Tamam”
veya “İptal” vb.
Resim 3.2: Button kontrolünün formdaki görüntüsü
24
 TextBox kontrolü
TextBox kontrolü, form üzerinde tasarım sırasında, programın çalışma anında girilen veya kod
içinde atanan bilginin gösterilmesi için kullanılır. Gösterilen bilgi değiştirilebilir.
Resim 3.3: TextBox kontrolünün formdaki görüntüsü
 Label (Etiket) kontrolü
Label kontrolü, form üzerinde bilginin gösterilmesi için kullanılır (Resim 3.4).
Resim 3.4: Label kontrolünün formdaki görüntüsü
 CheckBox
Windows’ ta çok kullanılan kontrollerden biri de kullanıcının belirli özellikleri aktif veya pasif hale
getirmek için kullanıldığı eleman CheckBox’ lardır. Anlaşırlığı ve kullanımı kolay olması sebebiyle
kolay kullanılabilir arabirimler oluşturmak için oldukça faydalı bir kontroldür (Resim 3.5).
Resim 3.5: CheckBox kontrolünün formdaki görüntüsü
 Timer (Zamanlayıcı) kontrolü
Programda belirli bir süre aralıklar ile aktif hale gelip belirli işleri yapabilmek için kullanılan bir
kontroldür. Bu kontrol, tasarım zamanda ekranda görülmesine rağmen çalışma esnasında
görülmez.
25
 Horizontal & Vectiral ScrollBar (Kaydırma Çubuğu)
Biri yatay diğeri dikey olmak üzere her iki kaydırma çubuğu da aynı özelliklere sahiptir ve kullanım
amacına göre amaçları da değişir. Örneğin bir veri tabanında kayıtlar arasında ileri geri gitmek için
kullanılabilir (Resim 3.6).
Resim 3.6: Horizontal & Vectiral ScrollBar (Kaydırma Çubuğu) kontrollerinin formdaki
Görüntüsü
 RadioButton (Seçenek Düğmesi) kontrolü
RadioButton kontrolü ChechkBox kontrolünden farklı olarak birkaç seçenekten sadece birini seçme
imkânı veren bir kontroldür. Bu kontrolün tek başına kullanılması anlamsızdır. Birkaç seçenekten
birini seçme imkânı veren bir kontrol olduğu için en az iki tane birlikte kullanılmalıdır. Gruptaki
RadioButton düğmelerinden biri seçildiğinde diğeri kendiliğinden seçilmiş özelliğini kaldırır. Yani
aynı anda bir grupta iki tane işaretli düğme bulunmaz. Yalnızca bir seçenek seçebiliriz ve
bilgisayarımız da o seçeneğe göre hareket eder (Resim 3.7).
Resim 3.7: RadioButton (Seçenek Düğmesi) kontrolünün formdaki görüntüsü
 GroupBox (Grup Kutusu ) kontrolü
Bu kontrol tek başına değil, diğer kontrolleri gruplayabilmeniz için kullanılır. Kontrolleri bu kontrolle
gruplamanızın birçok avantajı vardır. Bu çerçeveler içine konan kontroller, çerçeveye bağımlıdır ve
konumları bu çerçeve dışına çıkamaz. Özellikle birkaç kontrolü birden görünür veya görünmez
yapmak için hepsinin Visible özelliğini değiştirmek yerine çerçevenin Visible özelliğini değiştirerek
aynı işlemi bir adımda yapmış oluruz. Aynı şekilde taşınma özelliğinde de çerçeve taşınarak işlem
tek adımda gerçekleştirilebilir. Yani kullandığımız GroupBox kontrolünü form içerisindeki başka bir
form gibi düşünebiliriz.
26
Resim 3.8: GroupBox (Grup Kutusu ) kontrolünün formdaki görüntüsü
GroupBox’ larla gruplanan kontrollerin koordinatları artık forma göre değil, grup kontrolünün sol üst
köşesine göre belirlenir. Form üzerine yerleştirilmiş bir kontrolü taşıyarak bir GroupBox kontrolü
üzerine getirmekle o kontrol gruplanmış olmaz. GroupBox kontrolü içerisine bir kontrol yerleştirirken
önce GroupBox kutusunu seçiniz. Eğer Form üzerinde bulunan kontrolleri GroupBox kontrolü
içerisine almak istiyorsanız o zaman Form üzerindeki kontrolleri kesiniz (Cut) ve Frame kontrolünü
seçtikten sonra buraya yapıştırınız (Paste). Ayrıca Frame, kontrolleri sadece bazı şartlarda
gösterilmesi gereken kontrolleri de bir arada tutarak bunların kolayca gizlenip gösterilmesini sağlar.
 PictureBox (Resim Kutusu) Kontrolü
Bu kontrol elemanı Bitmap, Icon, Metafile, Jpeg ve Gif gibi resimleri görüntülemek için kullanılır.
Ayrıca metotlar kullanılarak PictureBox içine çizimlerde yapılabilmektedir. Bu kontrolün bir diğer
özelliği ise aynen GroupBox kontrolünde olduğu gibi diğer kontrolleri gruplandırmasıdır. Kod
penceresine aşağıdaki gibi bir komut satırı yazabilirsiniz.
Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal
PictureBox1.Picture = LoadPicture("E:ResimlerTanyildizi.Bmp")
End Sub
 Form
Windows arabiriminin en temel kontrolü formlardır. Windows’ta hemen her program formlar üzerinde
çalışır. Zaten Windows kelimesinin Türkçe anlamı Pencereler de bu formlardır. Boyutlandırılabilir
özelliği sayesinde aynı ekranda tek bir program olmak zorunda değildir. Formun Properties kısmını
formun alt programlarında yazarken Formun ismini kullanmak zorunda değilsiniz, direk Properties
ismini vermeniz yeterlidir. Yani Form1.Name ile sadece Name, Form1’ in alt programlarında aynı
etkiye sahiptir. Programınızda birden fazla form bulunacaksa ilk olarak ana form çalışacaktır. Diğer
formları programınızda kullanacağınız Form2.Show gibi bir yöntemle aktif hale getirmelisiniz. Bir
formdan başka bir formun bir özelliğine ulaşabilmek için kontrol adından önce formun adı da
verilmelidir. Örneğin Form2 üzerindeki Label1’e ulaşmak için Form2.LabeI1.Özellik şeklinde
kullanılır. Programınızda birden fazla formunuz varsa ilk oluşturduğunuz form ana formdur ve
27
program çalışmaya o form ile başlar. Eğer başlangıçta çalışacak formu değiştirmek istiyorsanız;
Solution penceresindeki projemize sağ tıklayıp Properties komutu seçilir. Daha sonra Startup Form
listesinden istediğiniz formu seçebilirsiniz.
 ListBox (Listeleme Kutusu) kontrolü
Visual Basic’ in sağladığı dizilerinizi gösterebileceğiniz kontrollerdendir. Elemanları listelemek,
sıralamak amacı ile kullanılan bir kontroldür. Listeye eleman eklemek için Properties penceresindeki
Items özelliği kullanılabilir.
Resim 3.9: ListBox kontrolünün formdaki görüntüsü
 ComboBox (Açılan Liste) kontrolü
Genellikle değerleri daha önceden belli olan elemanların seçimi için kullanılır. Liste kutusuna benzer
ancak listedeki elemanlardan sadece seçileni ekranda görüntülenir. Aşağı doğru açılabilen bir liste
kontrolüdür. ComboBox kontrolüne eleman ekleme ve silme işlemi ListBox’ ta olduğu gibidir.
Resim 3.10: ComboBox (Açılan Liste) kontrolünün formdaki görüntüsü
3.1.1.2. Araç Kutusu Penceresinin Ayarları
Çalıştığınız projeye ToolBox’ ta bulunmayan bir referans eklemek isterseniz Solution Explorer
penceresinde References seçeneğine sağ tıklayarak Add Reference komutunu verebilirsiniz
(Resim 3.11).
28
Resim 3.11: Add Reference komutunun görüntüsü
Resim 3.12: Add Reference penceresinin görüntüsü
Projede kullanmak istediğiniz bileşeni seçip OK düğmesini tıklamanız yeterli olacaktır. Bu seçtiğiniz
bileşende Solution Explorer penceresinin References bölümüne aktarılır.
Eğer projenizde kullanmak istediğiniz bir kontrolör ToolBox’ta mevcut değilse Tools menüsünden
Choose Toolbox Items komutunu verebilirsiniz.
Resim 3.13: Tools/Choose Toolbox Items komutunun görüntüsü
Bu komutu verdikten sonra Choose Toolbox Items diyalog kutusu ekran gelir (Resim3.14).
29
Resim 3.14: Choose Toolbox Items penceresinin görüntüsü
Bu diyalog kutusunda Toolbox menüsündeki mevcut kontroller işaretli mevcut olmayan kontroller
ise işaretsiz olacaktır.
3.1.2. Özellikler Penceresinin Ayarları
Yeni bir proje oluşturduğumuzda Visual Basic.NET Form1 adında bir ana formu otomatik olarak
oluşturur ve bu forma ait özellikler Properties (Özellikler) adlı bir pencerede bulunur (Resim 3.15).
Properties penceresinde 4 tane ikon bulunur.
30
 : Özellikleri gruplamak için kullanılır.
 : Özelliklerin alfabetik sıraya göre listelenmesi için kullanılır.
 : Özelliklerin listelenmesi için kullanılır.
 : Properties (Özellikler) penceresinde özellikleri listelenen nesne içintanımlı olan olayları
listelemek için kullanılır.
3.2. FORM TASARIMINDAKİ NESNE BOYUTLANDIRMA TUTAMACI
Visual Basic .NET’te kullanılan Windows Formların boyutlarını iki değişik yolla ayarlayabilirsiniz.
Birincisi; forma bir kez tıkladıktan sonra etrafında beliren boyutlandırma tutamaçlarından tutarak
ikincisi ise; Properties (Özellikler) penceresindeki Size (Genişlik)
seçeneğinden istediğiniz boyutu yazarak formun ebatlarını ayarlayabilirsiniz (Resim 3.16).
Resim 3.16: Windows formunun değişik ebatlardaki görünümü
Visual Basic .NET’te formun boyutlarının yanı sıra, forma yerleştirilen kontrol elemanlarının da
boyutlarını ayarlayabilirsiniz. Oluşturulmuş bir kontrolü taşıyabilmeniz için, fare kontrolün
ortasındayken dörtlü ok işareti çıktığında, farenin sol tuşuna basılı tutarak hareket ettirmeniz
gerekmektedir. Kontrol istediğiniz yere gelince fareyi bırakırsınız. Forma yerleştirilecek olan kontrol
elemanlarını grid çizgilerine gerek duymadan belli bir düzende yerleştirilebilirsiniz (Resim 3.17,
3.18).
Resim 3.17: Button kontrollerinin forma yerleştirilmesine ait görüntü
31
Resim 3.18: Değişik kontrollerin forma yerleştirilmesine ait görüntü
3.3. YERLEŞİM ARAÇ ÇUBUĞU
Yerleşim Araç Çubuğu (Layout), form üzerine yerleştirilen kontrol elemanlarının belli bir düzende
yerleştirilmesini sağlar. Eğer, Yerleşim Araç Çubuğu (Layout) ekranda görünmüyorsa View
menüsünden Toolbars üzerine gelip ve oradan Layout’u işaretleyebilirsiniz.
Resim 3.19: Visual Basic .NET Layout (Yerleşim) araç çubuğunun görünümü
Resim 3.20: Visual Basic .NET’te form görünümü
Form üzerine rastgele yerleştirilmiş olan kontrol elemanlarını Yerleşim Araç Çubuğu (Layout) ile
düzenlerken öncelikle bir elemanı referans olarak almanız gerekmektedir. Daha sonra klavyeden
Ctrl tuşuna basılı tutarak diğer elemanları seçer ve Yerleşim Araç Çubuğu üzerindeki komutlardan
istediğinizi uygularsınız.
Alings Left: Tüm kontrol elemanlarını form üzerinde sola dayalı olarak yerleştirir (Resim 3.21).
32
Resim 3.21: Align Left komutu ile sola dayalı yerleştirilen kontrol elemanlarının görünümü
Align Right: Tüm kontrol elemanlarını form üzerinde sağa dayalı olarakyerleştirir.
Align Tops: Referans alınan kontrol elemanının sol üst köşesine hizalı olarak elemanları
yerleştirir.
Align Bottoms: Referans alınan kontrol elemanının sağ alt köşesine hizalı olarak elemanları
yerleştirir.
Align Middles: Referans alınan kontrol elemanının orta noktasına hizalı olarak elemanları
yerleştirir (Resim 3.23).
Resim 3.23: Align Middles komutu ile seçili kontrol elemanına ortalı yerleştirilen kontrol
elemanlarının görünümü
Alings Center: Tüm kontrol elemanlarını form üzerinde ortalayarak
yerleştirir (Resim 3.22).
Resim 3.22: Align Center komutu ile forma ortalı yerleştirilen kontrol elemanlarınınGörünümü
Make Same Width: Referans alınan kontrol elemanına göre diğer elemanların genişliğini
ayarlar.
Make Same Height: Referans alınan kontrol elemanına göre diğer elemanların yüksekliğini
ayarlar.
Make Same Size: Referans alınan kontrol elemanına göre diğer elemanların hem genişlik hem
de yüksekliğini ayarlar (Resim 3.24).
33
Resim 3.24: Make Same Size komutu uygulanmasına ait görünüm
Make Horizontal Spacing Equal: Kontrol elemanlarının birbirleri ile olan sağ ve sol boşluklarını
eşit bir şekilde ayarlar.
Incrase Horizontal Spacing: Kontrol elemanlarının birbirleri ile olan sağ ve sol boşluklarını eşit
bir şekilde artırır.
Decrase Horizontal Spacing: Kontrol elemanlarının birbirleri ile olan sağ ve sol boşluklarını
eşit bir şekilde azaltır.
Remove Horizontal Spacing: Kontrol elemanlarının birbirleri ile olan sağ ve sol boşluklarını
kaldırır.
Make Vertical Spacing Equal: Kontrol elemanlarının birbirleri ile olan alt ve üst boşluklarını eşit
bir şekilde ayarlar.
Incrase Vertical Spacing: Kontrol elemanlarının birbirleri ile olan alt ve üst boşluklarını eşit bir
şekilde artırır.
Decrase Vertical Spacing: Kontrol elemanlarının birbirleri ile olan alt ve üst boşluklarını eşit bir
şekilde azaltır.
Remove Vertical Spacing: Kontrol elemanlarının birbirleri ile olan alt ve
üst boşluklarını kaldırır.
Center Horizontally: Kontrol elemanlarını form üzerinde sağ ve sol boşlukları eşit olacak
şekilde ayarlar.
Center Vertically: Kontrol elemanlarını form üzerinde alt ve üst boşlukları eşit olacak şekilde
ayarlar.
Bring to Front: Seçili olan nesneyi en öne getirir.
Send to Back: Seçili olan nesneyi en arkaya gönderir.
Tab Order: Kontrol elemanlarının tab numaralarını değiştirmeye yarar.
34
3.4. FORM VE NESNELERİN ORTAK ÖZELLİKLERİ (NAME, TEXT)
Resim 3.25: Form ve kontrol elemanlarınıngörünümü
Form üzerindeki değişiklikleri Properties penceresinden gerçekleştireceğiz. Aşağıdaki işlemleri
sırası ile uygulayalım.
 Öncelikle Label1’i işaretleyip Properties kısmından Text özelliğini Adı olarak değiştirelim.
Aynı işlemi Label2 için Soyadı, Label3 için de Okulu olarak uygulayalım.
 Button1 denetimini işaretleyiniz ve Text özelliğini seçtikten sonra Button1 yazan kısma Yeni
yazınız. Sonra aynı, işlemleri Button2 için Vazgeç, Button3 için de Çıkış olarak değiştiriniz.
 Form’ u işaretleyip Form’ un Text özelliğini de “İlk Visual Basic Denemesi” olarak değiştiriniz.
Şimdi bu aşamada elemanların rengi, üzerindeki yazıların renk, kalınlık, büyüklük ayarlamaları
isimleri vb. özellikleri üzerinde oynama yapabilirsiniz. Şimdi çoğu eleman için aynı olan özelliklerden
birkaçını açıklayalım.
 Name: Seçili kontrol elemanınızın program içerisindeki ismini belirler. (Name özelliğine göre
elemana ait program kodları yazılmalıdır.)
 Text: Seçili kontrol elemanınıza program çalışırken kullanılacak ismi vermek için kullanılır.
 BorderStyle: Seçili elemanın form üzerinde 3 boyutlu görünümü sağlar.
 BackColor: Seçili elemanın zemin rengi seçimini sağlar.
 Enabled: Nesnenin aktif veya pasif olmasını sağlar.Yani üzerinde işlem yapılıp
yapılmayacağını kontrol eder. False değeri için nesne üzerinde işlem yapılmaz. True değeri
için nesneyi normal olarak çalıştırabilirsiniz.
 Font: Seçili nesne için yazı tipi seçimine olanak sağlar.
 Size: Nesnenin boyutu ile alakalı değişiklik yapmamızı sağlar.
 Location: Nesnelerin koordinatını verir.
 Visible: Nesnenin görülüp görülmeme özelliğini ayarlar. False değeri verildiği zaman nesne
görülmez, True değeri verildiği zaman görülür.
35
3.5. FORM ÖZELLİKLERİ
AccepButton-Enter: Bu özelliğin aktif olabilmesi için öncelikle forma bir Button eklenmesi
gerekmektedir.
Resim 3.26: Form ve Accept Button komutunun görünümü
Button ekleyip formu seçince AcceptButton özelliğinde None ve seçili olan Button1 diye iki seçenek
belirecektir. Eğer, Button1 seçeneğini aktif yaparsanız programınızı çalıştırdığınızda Button1’i
Mouse ile tıklamak yerine Enter tuşu ile de kullanabilirsiniz. Örnek olması açısından basit bir örnek
verecek olursak, formunuza bir Button bir de TextBox ekleyiniz ve formun AcceptButton seçeneğini
Button olarak ayarlayınız. Daha sonra Button’nun kod sayfasına geçip aşağıdaki program satırını
yazınız.
Private Sub Button1_Click_1
TextBox1.Text = "Muharrem"
End Sub
Şimdi programınızı çalıştırınız ve Button’a tıklamak yerine Enter tuşuna basınız.
Resim 3.27: Accept Button komutunun uygulanmasına ait görünüm
 CancelButton-ESC: Bu özellikte tıpkı AcceptButton gibidir. Tek farkı Button’a ESC tuşunu
atamasıdır.
 ControlBox : Formların Properties (Özellikler) penceresindeki ControlBox özellikleri “True”
olarak belirlenmiştir. Ancak istenirse bu özellik “False” olarak değiştirilebilir. Eğer bu özelliği
False yaparsanız formun sağ üst köşesinde yer alan simge durumuna küçültme, önceki boyut
ve kapat düğmeleri görünmeyecektir (Resim 3.28).
36
Resim 3.28: ControlBox’ın uygulanmasına ait görünüm
FormBorderStyle: Formunuzun ekran üzerindeki görünüşünü değiştirmek için Properties
(Özellikler) penceresindeki FormBorderStyle kullanılır (Resim 3.29).
Resim 3.29: FromBorderStyle’in seçeneklerine ait görünüm
• None : Çerçeve yok (Resim 3.30)
Resim 3.30: FromBorderStyle de None tercihinin uygulanmasına ait görünüm
• FixedSingle: Tek çizgili çerçeve
• Fixed3D: Üç boyutlu çerçeve
• FixedDialog: Formun sol üst köşesindeki diyalog kutusunu görünmez yapar Resim 3.31).
Resim 3.31: FromBorderStyle de FixedDialog tercihinin uygulanmasına ait görünüm
• FixedToolWindow: Formun sağ üst köşesindeki simge durumuna küçültme ve önceki boyut
düğmelerini kaldırır (Resim 3.32).
Resim 3.32: FromBorderStyle de FixedToolWindow tercihinin uygulanmasına ait görünüm
StartPosition: Formların bir diğer özelliği olan “StartPosition”, programı çalıştırdığınız anda
formun ekranın neresinde konumlanacağını belirlemenizi sağlar (Resim 3.33).
37
Resim 3.33: Start Position seçeneklerine ait görünüm
• Manual: Formu ekranın sol üst köşesine konumlandırır.
• CenterScreen: Formu ekranın tam ortasına konumlandırır.
• WindowsDefaultBounds: Formun boyutlarını büyültür.
BackColor: Formun zemin rengini değiştirmeye yarar. Bu işlemi yaparken açılan kutuya tıklayıp
seçeneklerden herhangi birini seçebileceğiniz gibi, BackColor yazısının yanında bulunan renkli
kutuya da tıklayarak istediğiniz rengi ayarlayabilirsiniz (Resim 3.34).
Resim 3.34: BackColor seçeneği ve uygulanmasına ait görünüm
Enabled: Formun aktif veya pasif olmasını sağlar. False yani pasif olması durumunda kullanıcı
formu görür, ancak üzerinde işlem yapamaz.
Font: Form üzerinde bulunan nesneler için kullanılan yazının fontunu belirler.
Size: Formun boyunu ve enini belirler. Bu iki değer değiştirilerek formun boyutları ayarlanabilir.
ForeColor: Form üzerinde bulunan nesneler için kullanılan yazının rengini belirler.
RightToLeft: Form başlığının ve nesneler içindeki yazıların sağda ya da solda görünmesini sağlar.
RightToLeftLayout: Eğer form RightToLeft seçeneği “Yes” seçilip form başlığı sola alınmışsa,
“True” aktif olur ve form başlığı ile formun kontrol düğmeleri yer değiştirir.
3.6. NESNELERİN ÖZELLİKLERİ
Visual Basic .NET’te nesnelere ait çeşitli özellikler vardır. Bu nesnelerden biri de TextBox’tır. Bilgi
girişleri TextBox nesneleri aracılığı ile yapılmaktadır. ToolBox penceresinde TextBox kontrolünü
formunuza ekleyince Properties (Özellikler) penceresinde aşağıdaki özellikler bulunur.
38
Resim 3.34: Form ve Textbox kontrolüne ait görünüm
MultiLine: True ise text kutusuna birden fazla satır girilebileceğini gösterir. False ise tek satır
girilebilir.
Name: Kontrol için istenilen isim yazılır. Name (İsmi) maksimum 40 karakter uzunluğunda olabilir.
Name mutlaka bir harf ile başlamalıdır. Diğer karakterler harf, rakam veya _ (alt çizgi) olabilir.
TextAlign: Nesne içerisindeki yazının sola, sağa veya ortaya yazılmasını sağlar.
ScollBars: Multiline özelliğinin True olması durumunda etkili olan bu özellik Text kutusu içerisinde
bu özelliğin aşağı yukarı, sola sağa kaydırmak için kaydırma çubuklarının eklenmesini sağlar. None
ise yok, Horizontal ise yatay, Vertical ise dikey ve Both ise hem yatay hem de dikey kaydırma
çubukları eklenir.
MaxLenght: Text kutusuna girilebilecek maksimum karakter sayısını belirler. Buna 0 verilirse üst
sınır 32 karakter olur.
PaswordChar: Text kutusuna şifre girmek için kullanılır. Yani kullanıcı girdiği karakterlerin ekranda
görülmesini istemiyorsa bu özellikten yararlanır.
PasswordChar özelliğine karakter girerek kullanıcının girdiği bütün karakterlerin bu karakterle
görülmesini sağlar.
Locked: Text kutusunun bu özelliği True yapılırsa Text üzerinde hiçbir değişiklik yapılamaz.
BorderStyle: Nesnenin ekran üzerindeki sınırlarının çerçeve şeklini belirler.
• None : Çerçeve yok
• FixedSingle: Tek çizgili çerçeve
• Fixed3D: Üç boyutlu çerçeve
Text : Formun adını değiştirmeye yarar.
Enabled: Nesnenin aktif veya pasif olmasını sağlar. False yani pasif olmasıdurumunda kullanıcı
nesneyi görür ancak üzerinde işlem yapamaz. Text kutusunun Enabled özelliği False ise kullanıcı
giriş yapamaz.
Font: Nesne için kullanılan yazının fontunu belirler.
ForeColor: Yazının rengini belirler. Yukarıda anlatılan renk bileşimleri burada da geçerlidir.
BackColor: Nesnelerin zemin rengini değiştirmeye yarar. Bu işlemi yaparken açılan kutuya tıklayıp
seçeneklerden herhangi birini seçebileceğiniz gibi,
39
BackColor yazısının yanında bulunan renkli kutuya da tıklayarak istediğiniz rengi ayarlayabilirsiniz.
Size: Nesnenin boyunu ve enini belirler. Bu iki değer değiştirilerek kontrolün boyutları ayarlanabilir.
HelpButton: Kontrolle ilgili yardım dosyasındaki konu numarası bu özellik ile belirlenir.
Icon: Mouse göstergesinin nesne üzerine geldiğinde alacağı şekli belirler.
TabStop: True ise kullanıcı bu nesneye Tab tuşuyla ulaşabilir. False ise Tab tuşuyla bu kontrol
üzerine gelinmez, Mouse ile, yazılım yoluyla veya varsa kısayol tuşu ile gelebilir. Yoğun bilgi girişi
gerektiren formlarda sık kullanılmayacak kontrollerin TabStop özelliklerini False yaparsanız
kullanıcının bilgi girişi daha kolay olacaktır. Çünkü genelde yoğun bilgi girişi olan yerlerde Tab tuşu
sık kullanılır. Gereksiz yere ekrandaki bütün kontrolleri dolaşmamak için bazılarının bu özelliğini
False yapmak gerekir.
TabIndex: Form üzerinde kullanıcının ulaşabileceği her nesnenin bir Tablndex’i vardır. Tablndex
kullanıcının Tab tuşuyla kontroller arasında dolaşırken bu kontrollerin sıralamasını belirler. Örneğin
Tab indexi 5 olan bir nesnede iken Tab tuşuna basılırsa kontrol Tab indexi 6 olan nesneye geçer.
Normalde her yerleştirilen kontrole otomatik olarak bir Tab sırası verilir. Form tasarımınız bittikten
sonra programı çalıştırıp Tab tuşuyla bütün kontrolleri gezerek Tab tuşunun sırayla gidip gitmediğini
kontrol etmeniz gerekir. Çünkü araya yerleştirdiğiniz kontrollerin Tab sıraları bozulacaktır.
1. HATA AYIKLAMA
Böcek (bug) kelimesi, programcıların yaptıkları programlarda önceden tahminedemedikleri "çalışma
zamanında", yani program çalışırken ortaya çıkan hataları belirtmek için kullanılır. Başka bir deyişle
"böcek" kelimesi, yazılımların çalışırken, çoğunlukla beklemedikleri veya kontrol etmedikleri bir girdi
karşısında ne yapacaklarını bilememeleri veya kendilerine işletim sistemi tarafından yasaklanmış
olan bazı şeyler yapmaya kalkmaları yüzünden "göçmesi" ile sonuçlanan "yazılım hataları" için
kullanılır.Bilgisayarların henüz bir oda büyüklüğünde olduğu zamanlarda, bir böceğin bilgisayarın
içine girerek kısa devreye sebep olması, böylelikle o anda çalışmakta olan "yazılım"ın görevini
yerine getirememesine yol açması sebebiyle çalışma zamanındaki yazılım hatalarına böcek denir.
Çalışma zamanında oluşan bu böcekleri ayıklama işlemine de debug (böcek ayıklama) denir. Bu
etkinlikte debug menüsü ile yapılan işlemler anlatılacaktır. Debug menüsündeki komutlara
kısayoldan ulaşmak için debug araç çubuğu kullanılabilir. Bu araç çubuğunu açmak için view
menüsünden toolbars seçeneğinden debug araç çubuğu aktif edilmelidir.
Menü veya araç çubuklarının bulunduğu bölüme Mouse’un sağ tuşu ile tıklanıp gelen araç
çubuklarından debug seçilerek de araç çubuğu Visual Basic.Net programına eklenmiş olur.
Araç çubuğu üzerindeki seçeneklerin birçoğu modül içerisinde bulunan öğrenme faaliyeti -2 de
anlatılacaktır.
40
Resim 1: Debug araç çubuğu
4.1. “BREAKPOINT” YAPMA
Yazılan bir programın doğru çalışıp çalışmadığını test etmek amacıyla parça parça incelenmesi
gerekebilir. Bu işlem için breakpoint (kırılma noktası) oluşturulur. Böylece uzun bir programı
parçalara bölerek hataya sebep olan komut satırları rahat bir şekilde bulunabilir. Visual Studio’da
Breakpoint oluşturmak için iki temel yöntem kullanılabilir. Bunlardan birincisi programın herhangi bir
satıra gelindiğinde kırılmasıdır. Bu yöntem 3 değişik şekilde yapılabilir. Bunlar; Breakpoint
oluşturacağımız satıra Mouse yardımı ile gelip resim 4.1’deki gibi Debug menüsünden Toggle
Breakpoint komutu seçerek veya F9 tuşuna basarak oluşturabiliriz.
Resim 4.1: Breakpoint oluşturma 1
Breakpoint oluşturacağımız satıra gelip resim 4.2’de görüldüğü gibi Mouse’un sağ tuşuna basarak
karşımıza gelen pencereden Insert Breakpoint komutu seçerek oluşturabiliriz.
41
Resim 4.2: Breakpoint oluşturma 2
Resim 4.3’te görüldüğü gibi Margin Indicator çubuğunda Breakpoint oluşturacağımız satıra gelip
Mouse’un sol tuşuna tıklayarak oluşturabiliriz.
Resim 4.3: Breakpoint oluşturma 3
Uzun programlarda birden fazla breakpoint noktası oluşturarak programımızı daha kolay bir şekilde
inceleyebiliriz. Birden fazla breakpoint oluşturulduğunda programımız 1. breakpoint e kadar
çalıştıktan sonra durur. Eğer bu bölümde hata yoksa Start debugging ( ) butonuna veya F5 tuşuna
basarak 2. breakpoint noktasına kadar program tekrar çalıştırılır. Bu şekilde tüm hatalar bulunup
temizleninceye kadar program parça parça incelenebilir.
Breakpoint oluşturmak için kullanılan ikinci yöntem ise herhangi bir işlemin gerçekleşmesine bağlı
olarak programın kırılmasını sağlayan New Breakpoint yöntemidir.
42
Mesela bir fonksiyon içerisinde a değişkeninin değeri 15’ten farklı ise programın kırılmasını
sağlamak buna örnek olarak gösterilebilir. Bu işlem için Debug menüsünden New Breakpoint
komutu veya Ctrl+B kısayol tuşu kullanılır. New Breakpoint komutu çalıştırıldığında karşımıza Resim
4.4’teki pencere gelir.
Bu pencerede kırılmanın gerçekleşeceği fonksiyonun ismi, satır ve karakter numarası ile hangi
programlama dilinde yazıldığı bilgileri bulunmaktadır.
Resim 4.4: New Breakpoint penceresi
Burada Function ismi olarak Button1_click yazılır ve ok tuşuna basılırsa kırılma noktası
programımıza eklenmiş olur. Bu kırılma noktası resim 4.5’te görüldüğü gibi breakpoint penceresine
eklenir. Tüm oluşturulan kırılma noktaları Breakpoints penceresinde görülür. Eğer kırılma noktası
üzerinde herhangi bir işlem yapmazsak formdaki Buton1 tıklandığında programımız durdurulacaktır.
Eğer fonksiyon içerisindeki herhangi bir değişkenin değerine göre programın kırılmasını istiyorsak
condition özelliğini ayarlamamız gerekecektir. Bunun için breakpoint penceresindeki kırılma noktası
üzerine gelinip Mouse’un sağ tuşu tıklandıktan sonra açılan pencereden condition seçeneği seçilir.
Condition penceresine istenilen şart ifadesi yazılarak kırılma noktası ayarlanmış olur.
Resim 4.5: Kırılma noktası ve Kırılma noktası penceresi
43
Resim 4.6: Kırılma noktası özellikleri
Kırılma noktasının özellikleri resim 4.6’da numaralandırılmıştır. Bunların görevleri sırasıyla;
1. Location: Kırılma noktasının bulunduğu yeri gösterir.
2. Condition: Kırılma işleminin herhangi bir koşula bağlı olarak gerçekleşmesini sağlar.
3. Hit Count: Kırılma işleminin ne zaman yapılacağını belirler. Örnek olarak istediğimiz şart
sağlandığı zaman veya şart 3. defa gerçekleştiğinde.
4. Fitler: Kırılma işleminin hangi işlem veya iş parçalarında olabileceğini belirler.
5. When Hit: Kırılma işlemi gerçekleştiğinde ekrana mesaj aktarmayı veya herhangi bir makroyu
çalıştırmayı sağlar.
Not: Resim 4.6’da condition işlemi seçilip şart olarak b<>25 yazıldığında, program çalıştırılıp button1
tıklanırsa b değişkeninin değeri 25 olduğunda şart sağlanmadığından kırılma oluşacaktır.
Oluşturulan breakpointler hatalar giderildikten sonra kaldırılmalıdır. Çünkü programın
kaydedilmesiyle bu breakpointlerde kaydedilmiş olur. Breakpointler Visual Studio programı kapatılsa
dahi silinmez. Kullanıcının bu noktaları kaldırdıktan sonra programı kaydetmesi gerekir. Breakpoint
kaldırma işlemi oldukça basittir. Resim 4.7’de görüldüğü gibi Magrin Indicator çubuğundan
kaldırmak istediğimiz breakpoint noktasına gelip Mouse’un sol tuşuna basarak breakpointi kaldırmış
oluruz.
44
Resim 4.7: Breakpoint kaldırma işlemi
Not: Oluşturduğumuz breakpointleri otomatik olarak açılan breakpoint penceresinde görüp
inceleyebiliriz. Ayrıca bu pencere vasıtasıyla yeni breakpoint ekleyebilir, breakpointleri silebilir veya
pasif hale getirebiliriz.
4.2. “BREAK” DURUMU YAPMA
Bilindiği gibi bulunması en zor hata türü mantık hatasıdır. Diğer hata türlerinde derleyici programın
yazımı sırasında veya hatalı satıra gelindiğinde kullanıcıyı uyarmaktadır. Bir mantık hatasını
belirlemenin yollarından biri program kodunuzu satır satır çalıştırıp değişken veya özellikler
değişirken bunların içeriğini incelemektir. Bu işlemi yapmak için programımız çalışırken break (
kırılma, kesme ) moduna girilebilir. Kesme modu, Visual Basic.NET derleyicisi programınızı
çalıştırırken durdurup onu incelemenizi sağlar. Visual Basic.NET programlama dilinde break
yapmak için start debugging butonunun ( ) yanında bulunan break all butonuna ( ) Mouse’un sol
tuşu yardımı ile tıklamak veya Ctrl+Break kısayol tuşunu kullanmak yeterlidir. Bu işlem yapılınca
programımızın code penceresi ekrana gelir ve programımızı inceleme imkânı buluruz. Break
modunda ayrıca resim 1.8’de görüldüğü gibi debug menüsünde bulunan windows sekmesi
kullanılarak programı incelemek için gerekli olan pencereler açılabilir, değişkenler incelenebilir.
45
Resim 4.8: Break modunda açılabilen pencereler
Bu pencereler kullanılarak oluşturulan programın ayrıntılı olarak incelemesiyapılabilir.
4.3. KLAVYE KISAYOLLARI
F5: Oluşturulan programın çalıştırılması veya duraklatılmış (break modda) bir programın
çalışmasına devam ettirilmesi için kullanılan kısayol tuşudur.
F9: Breakpoint eklemek için kullanılan kısayol tuşudur. Bu işlem için öncelikle hangi satıra
breakpoint eklenecek ise Mouse o satıra konumlanmalıdır.
F10: Programımızı adım adım (Step Over) çalıştırmak için kullanılır. Program akışında procedureleri
tek satır olarak kabul eder ve içine girmez.
F11: Programımızı adım adım (Step Into) çalıştırmak için kullanılır. Bu kısayol yardımı ile
procedurelerin içine girilip incelenebilir. Bu işlem F8 tuşu yardımı ile de yapılabilir.
Ctrl+Break: Çalışmakta olan (running) programdaki bütün işlemleri geçici olarak durdurur ve hata
ayıklama moduna (debugging) geçilmesini sağlar. Bu sayede programdaki hatalar düzeltilip
programın kaldığı yerden çalıştırılması sağlanır.
Not: Eğer oluşturduğumuz programda procedure yoksa F10 ile F11 kısayol tuşlarının görevleri
aynıdır. Aralarındaki fark programımızda procedure varsa ortaya çıkar. F11 tuşu yardımı ile
procedure içine girip adım adım inceleme imkânı buluruz. F10 tuşu ise procedurelerin içine
girmeden programı incelememizi sağlar.
4.4. HATALI SATIRIN ALTINDA OLUŞAN MAVİ DALGALI ÇİZGİ KULLANIMI
Visual Basic.Net programlama dili diğer programlama dillerinde olduğu gibi programın yazımı
sırasında oluşabilecek hataları denetler. Programın yazımı sırasında oluşacak hatalara söz dizimi
hatası ya da derleyici hatası denir. Bu hata bir komutun, bir özelliğin yanlış yazılmasıyla veya bir
değişkenin tanımlanmaması sonucu oluşabilir. Kullanıcı oluşan söz dizimi hatalarını düzeltmediği
zaman derleyici programın çalışmasına izin vermez. Visual Basic.NET programlama dilinde,
oluşacak söz dizimi hatasının altı mavi dalgalı çizgi ile çizilerek kullanıcıya oluşan söz dizimi hatası
gösterilir. Kullanıcı mouse
46
yardımı ile söz dizimi hatasının olduğu yere geldiğinde hatanın oluş sebebi hakkında ayrıntılı bilgi
edinebilir. Bu sayede hatalı bilgiler düzeltilip program çalıştırılmaya hazır hale getirilebilir.
Örnek 1: Aşağıdaki programa dikkat edilirse a karakterlerinin altının çizili olduğu görülür. Bu bir söz
dizimi hatasıdır. Programcı programı çalıştırmadan bu hatayı düzeltmek zorundadır. Hatayı
düzeltmek için öncelikle hatanın oluşum nedenini bulmamız gerekir. Mouse yardımı ile mavi dalgalı
çizgi üzerine gelindiğinde resim 4.9’da görüldüğü gibi hatanın sebebi konusunda ekrana bir uyarı
mesajı gelecektir.
Resim 4.9: Söz dizimi hatasının oluşumu
Bu uyarı mesajında görüldüğü gibi hatanın sebebi a değişkeninin tanımlanmamasıdır. Bu hatayı
gidermek için en üst satıra Dim a As Byte komut satırını yazmak yeterlidir. Daha sonra programdaki
mavi dalgalı çizgilerin kalktığı görülecektir (Resim 4.10)
Resim 4.10: Söz dizimi hatasının giderilmesiÖrnek 2: Aşağıdaki programda ( Resim 4.11) çeşitli
söz dizimi hataları görülmektedir.
47
Resim 4.11: Çeşitli söz dizimi hataları
Örnekte görülen söz dizimi hataları komut ve özelliklerin yanlış yazılması sonucu oluşmuştur.
1 nu.lı sözdizimi hatası Textbox1 nesnesinin text özelliğinin yanlış yazılması sonucu oluşmuştur.
Text yerine Txet yazılmıştır.
2 nu.lı söz dizimi hatası for komutunun bir parçası olan next ifadesinin yazılmaması sonucu
oluşmuştur.
Mouse yardımı ile bu söz dizimi hatalarının üzerine gelindiğinde hataların oluşma sebebi
öğrenilebilir.
4.5. “TASK LİST” PENCERESİ
Task List (Görev listesi) penceresi programcının oluşturduğu görev ve açıklamaların listelenmesini
ve kontrolünü sağlar. Programcı kendine göre bir görev listesi belirler ve bu sıraya göre programın
yapımını kontrol eder. Ayrıca programın belli noktalarına açıklama satırları ekleyebilir. Bu pencereye
View menüsünden Other Windows seçeneği işaretlenerek veya Ctrl+Alt+K kısayol tuşu vasıtasıyla
ulaşılabilir.
1.6. “Autos” Penceresi
Autos penceresi program içerisindeki değişkenlerin değerlerini takip etmek için kullanılan bir
penceredir. Bu pencere yardımı ile değişkenleri sadece takip etmeyip onların değerlerini program
çalışırken değiştirip, programın bu değişime verdiği tepkiyi de görebiliriz. Autos penceresi otomatik
olarak ekrana gelen bir penceredir. Bu pencereyi incelemek için programımızı debugging modda
çalıştırmamız gerekir.
Resim 4.12: Autos penceresi
48
Programımızda tanımlı tüm değişken değerlerinin değişimini Autos penceresi yardımı ile takip
edilebiliriz.
Örnek: Aşağıdaki programımızı Autos penceresini kullanarak inceleyelim.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Dim a As Byte
Dim b, d, i, j As Integer
Dim c As Double
j = 0
a = 15
b = 25
c = a / b
d = a * b
If d > 0 Then MsgBox("sonuç=" & d) Else MsgBox("yanlış sonuç")
For i = a To b
j = j + 1
MessageBox.Show(i)
MessageBox.Show(j)
Next i
End Sub
Programımızı F11 tuşu veya Step Into ( ) butonu yardımı ile çalıştırdıktan sonra ilk olarak Autos
penceresi resim 4.13’teki hali alır.
49
Resim 4.13: Autos penceresi ile değişken izleme
Autos penceresinde programımızda kullanılan tüm değişkenler ve bunların başlangıç değerleri ile
değişken türleri görülebilmektedir.
Programımızı adım adım çalıştırmaya devam edersek Autos penceresindeki değişimleri rahatlıkla
takip edebiliriz.
Resim 4.14’te görüldüğü gibi Autos penceresi aktif olan değişkenleri görüntüler, o an aktif olmayan
değişkenler pencerede görülmez. Burada i ve j değişkenleri programın bu kısmında aktif
olmadıklarından Autos penceresinde görülmez.
50
Resim 4.14: Autos penceresi ile değişkenlerin incelenmesi
Programımızı adım adım çalıştırmaya devam edersek program değişken değerlerine göre işlemleri
yapıp sona erecektir. Eğer programa herhangi bir yerde müdahale etmek istersek ( değişken
değerlerini değiştirmek gibi) istediğimiz değişkenin ismi üzerine gelip Mouse yardımı ile çift
tıklayarak değerini değiştirebiliriz. Örnek olarak resim 1.14’te görüldüğü dibi d değişkeninin değeri
375’tir. Bu değere göre if komutu şarta bağlı olarak then ifadesinden sonra gelen komutu çalıştırıp
bir sonraki komuta (for komutu) geçilmesini sağlar. Burada program akışını değiştirmek istersek,
Autos penceresinde bulunan d değişkeninin değeri üzerine Mouse ile çift tıklayıp -5 yazarsak
programa direkt olarak müdahale etmiş oluruz. Böylece ifkomutundaki şart sağlanmadığından else
ifadesindeki komut satırı çalıştırılacaktır. Bu şekilde programımızın istenilen işi yapıp yapmadığını
rahat bir şekilde gözlemlemiş oluruz.
Not: Program kesme modunda çalışırken değişken değerleri Mouse yardımı ile de görülebilir. Mouse
değişken isminin üzerine getirildiğinde değişkenin değeri ekranda görülür.
4.7. “CALL STACK” PENCERESİ
Call stack penceresi bellekte bulunan güncel fonksiyon ve pocedureleri görüntülemek ve bir
fonksiyonun hangi fonksiyonlar tarafından çağrıldığını göstermek için kullanılır. Bu pencereyi açmak
için programımızın debugging veya running modda çalışması gerekmektedir. Programımız bu
modlardan herhangi birinde iken Debug menüsünden Windows sekmesi tıklanarak, Ctrl+L kısayol
tuşu ile veya debug araç çubuğundan call stack penceresi açılabilir.
51
Resim 4.15: Call Stack penceresinin açılması
Örnek: Aşağıdaki program incelenirse 3 adet function bulunmaktadır. Bunlar deg1 ve deg2 ve
Button1_Click functionlarıdır. Deg1 ve Deg2 functionlarından değerler alınıp Button1_Click
functionunda kullanılmaktadır.
Dim a As Byte
Dim b, d, i, j As Integer
Dim c As Double
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
j = 0
a = 5
b = deg1()
c = deg2()
d = b * c
If d > 0 Then MsgBox("sonuç=" & d) Else MsgBox("yanlış sonuç")
For i = a To b
j = j + 1
MessageBox.Show(i)
MessageBox.Show(j)
Next i
End Sub
52
Function deg1() As Integer
deg1 = a * 2
Return deg1
End Function
Function deg2() As Byte
deg2 = deg1() * 3
Return deg2
End Function
Programı debugging modunda adım adım çalıştırırsak o an kullanılan functionları Call Stack
penceresinde görebiliriz.
Resim 4.16: Call Stack penceresi
Call Stack penceresinde seçili satır, programın debug modunda çalıştığını, deg1 functionunda ve
programın 19. satırında bulunduğumuzu gösterir. Deg2 fonksiyonu aktif olmadığından gösterilmez.
4.8. “EXCEPTİONS” DİYALOG KUTUSU
Exceptions iletişim kutusu .NET programlama dilinde bulunan tüm istisnai durumları görmemizi
sağlamak için kullanılır.
53
Resim 4.17: Exceptions iletişim kutusunun açılması
Resim 4.18: Exceptions penceresi
Bu pencere yardımı ile istisnai durumlar aratılabilir (find), yeni istisnai durum oluşturulabilir (Add) ve
yapılan tüm değişiklikler silinip başlangıç durumuna dönülebilir (Reset All). Bir veya birden fazla
istisnai durum için Thrown seçeneği seçilirse o istisnai durumların Try…Catch bloğu ile yönetilmesi
engellenmiş olur. Ayrıca bu pencere yardımı ile istisnai durumların hangi programlara veya alan
adlarına ait oldukları da bulunabilir. Mesela yukarıdaki pencerede ArgumentException istisnai
durumunun sistem adalanının bir üyesi olduğu görülmektedir.
5. DEĞİŞKENLERİN DEĞERLERİNİ TAKİP ETME
Programcıların yaptıkları programların çalışmasını incelerken dikkat edecekleri en önemli
hususlardan biri değişken değerleridir. Değişken değerleri programcının istediği şekilde değişiyorsa
programın çalışması açısından sorun yok demektir. Program yazıldıktan sonra değişken
değerlerinin takip edilmesi o programın doğru çalışıp çalışmadığını kontrol açısından önemlidir. Eğer
programın çalışmasında sorun varsa değişken takibi ile oluşacak hataları yerinde görüp müdahale
edebilir. Bu işlem için Visual Basic.Net programlama dilinde Watch penceresi kullanılmaktadır. Bu
pencerenin kullanımı ve özellikleri aşağıda anlatılacaktır.
54
5.1. “WATCH” PENCERESİ
Watch penceresi değişken değerlerinin takibi için kullanılan bir penceredir. Fakat Autos penceresi o
an aktif olan değişkenlerin takibinde kullanılır. Değişken kullanılmıyorsa otomatik olarak Autos
penceresinden silinir. Değişkenlerin ve özelliklerin değerlerini program çalıştığı sürece görmek
istediğimizde Watch penceresini kullanmanız gerekir. Bu pencereyi görmek için programı kesme
modunda çalıştırmamız gerekmektedir. Watch pencerelerini Debug menüsünden Windows
komutunu tıkladıktan sonra Watch sekmesi yardımıyla Watch 1, Watch 2, Watch 3 ve Watch 4
seçeneklerinden herhangi birini seçerek açabiliriz. Bu pencereler Ctrl+Alt+W kısayol tuşu
kullanıldıktan sonra 1, 2, 3, 4 tuşlarından herhangi birine basılarak da açılabilir. 4 ayrı pencerenin
olması bize aynı anda birçok değişken ve özelliği inceleme imkânı verir. Herhangi bir değişkeni seçip
Add Watch komutunu kullandığımızda değişkeni otomatik olarak watch1 penceresine aktarır. Diğer
watch pencerelerine değişken aktarmak istiyorsak değişkeni seçip kopyala komutu ile hafızaya
alarak istediğimiz watch penceresine yapıştırabiliriz.
Resim 5.1: Watch pencerelerinin açılması
55
Resim 5.2: Watch penceresi
Watch penceresinde değişken takibi için değişkenlerin bu pencereye eklenmesi gerekir. Bu işlem
debugging modunda iken (program adım adım çalıştırılırken) Mouse yardımı ile değişken üzerine
gelinip Add Watch seçeneği seçilerek yapılır.
Resim 5.3: Değişkenlerin Watch penceresine eklenmesi
56
Bir veya birden fazla değişken Watch penceresine eklendikten sonra (Resim 2.4) değişken türleri
ve değerleri program çalıştığı sürece takip edilebilir.
Resim 5.4: Değişkenlerin watch penceresinde görünümü
Not: Uzun programlarda programın belli satırlarına kesme işareti konularak program parça parça
incelenip değişkenler takip edilebilir. Oluşturulan durak noktalarına gelindiğinde değişkenlerin
değerleri watch penceresinde görülebilir. Watch penceresine eklenen değişkenler pencere
içerisinde seçilip delete tuşuna basılarak veya pencere içinde Mouse’un sağ tuşuna tıklanıp “clear
all” komutu yardımı ile silinebilir.
Örnek: Aşağıdaki programdaki değişkenleri Watch penceresini kullanarak inceleyelim.
Dim a As Byte
Dim b, i, j As Integer
Dim c As Double
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim a, b, c As Integer
j = 0
a = 15
b = 5
c = a / b
For i = 1 To 15
j = j + 10
Next
Select Case j
Case 0 : MessageBox.Show("Yanlış")
Case 150 : MessageBox.Show("Doğru")
End Select
End Sub
Programda a, b ve c değişkenlerini watch1 penceresinde inceleyelim. Debugging modunda Watch
1 penceresi açılıp a,b ve c değişkenleri bu pencereye aktarıldıktan sonra program adım adım
çalıştırılır.
57
Resim 5.5: a,b,c değişkenlerinin watch penceresi ile incelenmesi
Resim 5.5’te görüldüğü gibi a, b, c değişkenlerinin değerleri watch1 penceresinde izlenebilir. For i=1
To 15 satırına gelindiğinde a,b,c değişkenleri son değerlerini almış olacaktır. Bu durumda a=15, b=5
ve c=3 değerini alacaktır. Eğer bu değerlerde bir sorun varsa programda gerekli düzeltmeler yapılıp
ortadan kaldırılabilir.
Not1: Watch penceresi ile değişken değerleri incelenirken program akışını kontrol amacıyla
değişken değerleri değiştirilebilir. Bu işlem için Watch penceresinde değişkenin üzerine imleç
konumlandırılır, Mouse’un sağ tuşuna basılıp Edit Value komutu seçilir (Resim 2.6). Bu işlemden
sonra istediğimiz değeri yazıp programın çalışmasını kontrol edebiliriz.
Resim 5.6: Watch penceresinde değişken değerinin değiştirilmesi
Not2: Watch penceresi ile Name bölümünde yer alan isim Mouse yardımı ile çift tıklanıp programda
kullanılan başka bir değişkenin ismi yazılarak farklı değişkenler incelenebilir.
Resim 5.7: Watch penceresinde değişken isminin değiştirilmesi
58
5.2. “QUICKWATCH” PENCERESİ
Değişkenlerin değerlerinin takibi için kullanılır. Watch penceresinden farkı değişken veya
değişkenlerin anlık değerini gösterir. Programı çalıştırılmaya devam ettiğimizde bu pencere
kaybolur. Bu pencerenin açılması için programı debugging modunda çalıştırmak gerekir.
QuickWatch penceresi debug menüsünden QuickWatch sekmesi tıklanarak açılabilir (Resim 2.8).
Bu pencereyi hangi satırda açmışsak o satırdaki değişkenin değerini otomatik olarak gösterir (Resim
5.9).
Resim 5.8: QuickWatch penceresinin açılması
Resim 5.9: QuickWatch penceresi
59
OuickWatch penceresinde değişkenlerin anlık bilgilerini görmek için kullanılan bir başka yöntem ise
değişkeni seçip Mouse’un sağ tuşuna basarak açılan menüden “QuickWatch” penceresini açmaktır
(Resim 5.10).
Resim 5.10: QuickWatch penceresinin açılması
Resim 5.9’da görülen QuickWatch penceresi ile c değişkeninin o anki değerini ve değişken türünü
öğrenebiliriz. Ayrıca belirlenen değişkenleri Add watch komutu ile Watch penceresine ekleyebilir,
Reevaluate butonu ile değişken değerini güncelleyebiliriz.
5.3. “COMMAND WINDOW – IMMEDIATE” PENCERESİ
Command window kesme (Debugging) modunda değişkenlerin değerlerini değiştirmek veya
istenilen komutları çalıştırmak için kullanılır. Bu pencere 2 modda çalışır. Bunlar Immediate modu
ve Command modudur. Command window- immediate penceresini açmak için kesme modunda
Debug menüsünden Windows sekmesi tıklanarak immediate komutu seçilir veya Ctrl+G kısayol tuşu
kullanılır.
60
Resim 5.11: Command penceresinin açılması
Resim 5.12: Command penceresi
Açılan pencere yardımı ile command ve immediate modları arasında geçiş yapılabilir. Immediate
modundan command moduna geçmek için “>cmd” komutunu (Resim 2.13), command modundan
immediate moduna geçmek için ise “>immed” komut satırını pencere içine yazmak gerekmektedir
(Resim 5.14).
Resim 5.13: Immediate modundan Command moduna geçiş
Resim 5.14: Command modundan Immediate moduna geçiş
Command modu yardımı ile menülerde bulunan birçok komut çalıştırılabilir. Bunlara örnek verecek
olursak save, save all, close, code, designer, help, callstack, autos gibi. Bu işlemleri yapmak için
pencere içerisinde > işaretinden sonra istediğimiz komutu yazıp enter tuşuna basmamız gerekir
(Resim 2.15).
61
Resim 5.15: Command modunda komut yazılımı
Immediate modunda ise program içerisindeki değişken değerlerini değiştirebilir ve bu değerleri
kullanarak işlem yaptırabiliriz. İmmediate penceresinde değişkenin değeri değiştirildiğinde otomatik
olarak watch penceresinde de değeri değişir. Bu iki pencere birbirini tamamlar. Bu modu kullanarak
değişkenlerin dışında nesne özelliklerini de değiştirebiliriz. Textbox nesnesinin text, top, width vb.
özelliklerini değiştirmek gibi.
Not: Immediate modunda “>” işaretini kullanarak komutlar da çalıştırılabilir.
Örnek:
Resim 5.16: Textbox1 nesnesinin top özelliğinin değiştirilmesi
Örnekte textbox1 nesnesinin top özelliğine 5 bilgisi aktarılmıştır. Bu pencereyi kullanarak program
kesme modunda çalışırken birçok nesne özelliğini değiştirip daha mükemmel bir program
oluşturulabilir.
Örnek: Aşağıdaki örnek programı adım adım ( kesme modunda) çalıştırıp b=5 satırına gelindiğinde
a değişkeninin değerini immediate penceresi yardımı ile 30 olarak değiştirip program akışındaki
değişikliği inceleyelim.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim a, b As Integer
Dim aa As String
Dim c As Double
Dim i, j As Integer
j = 0
a = 15
b = 5
c = a / b
aa = TextBox1.Text
If c = 3 Then
For i = 1 To 15
j = j + 10
62
Next
End If
Select Case j
Case 0 : MessageBox.Show("Yanlış")
Case 150 : MessageBox.Show("Doğru")
End Select
End Sub
Normal şartlarda programa müdahale etmediğimizde c değeri 3 olacak, for döngüsü çalıştırılacak
bunun sonucunda j değeri 150 olacak ve ekrana “Doğru” ifadesi yazdırılacaktır. Immediate
penceresi kullanılarak a değeri 30 yapıldığında ise for döngüsü çalıştırılmayacak, j değeri 0 olacak
ve ekrana “Yanlış” ifadesi yazdırılacaktır.
Resim 5.17: a değerinin değiştirilmesi
Değişken değerlerini değiştirerek programın hangi değişken değerine hangi tepkiyi verdiğini veya
hangi değişken değerinde hangi işlemin yapılacağı incelenebilir. Bu programcıların yaptığı programı
kullanıcıdan önce incelemesini ve oluşabilecek hataları bulup düzeltmesini sağlayacaktır.
63
Kaynakça http://akademikpersonel.kocaeli.edu.tr/aerdem/ders/aerdem25.0
6.2010_11.25.22ders.pdf
http://hbogm.meb.gov.tr/modulerprogramlar/kursprogramlari/bilis
im/moduller/gorselprogramlamakurulumu.pdf
http://www.korkmazadem.com/dosyalar/file/Kodlamaya%20Haz
%C4%B1rl%C4%B1k.pdf
http://www.btgonulluleri.com/visual-studio-2010-ultimate-
kurulumu/visual-studio-kurulumu-5/
http://projelerleyazilim.blogspot.com.tr/2015/03/visual-studio-
giris-dersleri.html

More Related Content

What's hot

Hipnotik İletişim ve İkna
Hipnotik İletişim ve İknaHipnotik İletişim ve İkna
Hipnotik İletişim ve İkna
ilker KALDI
 
Diagnostyka układów zasilania silników
Diagnostyka układów zasilania silnikówDiagnostyka układów zasilania silników
Diagnostyka układów zasilania silników
Szymon Konkol - Publikacje Cyfrowe
 
Marka Hikayeleri
Marka HikayeleriMarka Hikayeleri
Marka Hikayeleri
Sacit Şahin
 
KOCLUKTA YAKLASIMLAR, EKOLLER, MODELLER VE KANITA DAYALI KOCLUK UYGULAMALARI
KOCLUKTA YAKLASIMLAR, EKOLLER, MODELLER VE KANITA DAYALI KOCLUK UYGULAMALARIKOCLUKTA YAKLASIMLAR, EKOLLER, MODELLER VE KANITA DAYALI KOCLUK UYGULAMALARI
KOCLUKTA YAKLASIMLAR, EKOLLER, MODELLER VE KANITA DAYALI KOCLUK UYGULAMALARI
Kocluk Platformu Dernegi
 
Proje hazırlama sunum metin gokhan
Proje hazırlama sunum metin   gokhanProje hazırlama sunum metin   gokhan
Proje hazırlama sunum metin gokhan
metreham
 
11 ekip çalışması ve temel öğeleri
11   ekip çalışması ve temel öğeleri11   ekip çalışması ve temel öğeleri
11 ekip çalışması ve temel öğeleriSerdal KOÇİYİT
 
Duygulari anlamak
Duygulari anlamakDuygulari anlamak
Duygulari anlamaknilguncalik
 
Nöromarketing
NöromarketingNöromarketing
Nöromarketing
AycaKandemir
 
Öğrenen Organizasyonlar - Learning Organizations
Öğrenen Organizasyonlar - Learning OrganizationsÖğrenen Organizasyonlar - Learning Organizations
Öğrenen Organizasyonlar - Learning Organizations
Ferhat İşcan
 
Diksiyon, Hitabet ve Sunum Teknikleri
Diksiyon, Hitabet ve Sunum TeknikleriDiksiyon, Hitabet ve Sunum Teknikleri
Diksiyon, Hitabet ve Sunum Teknikleri
Fatoş Kanıtemiz
 
Siyaset Bilimi ve Diğer Bilim Dallarıyla İlişkileri
Siyaset Bilimi ve Diğer Bilim Dallarıyla İlişkileriSiyaset Bilimi ve Diğer Bilim Dallarıyla İlişkileri
Siyaset Bilimi ve Diğer Bilim Dallarıyla İlişkileri
Hilal Seda Yıldız
 
Telefonda iletişim teknikleri
Telefonda iletişim teknikleriTelefonda iletişim teknikleri
Telefonda iletişim teknikleriCenk Tekin, PMP
 
Oreo Sosyal Medya Kullanımı
Oreo Sosyal Medya KullanımıOreo Sosyal Medya Kullanımı
Oreo Sosyal Medya Kullanımı
yaseminbig
 
Qr kod nedir
Qr kod nedirQr kod nedir
Qr kod nedir
OnlineWebDersleri
 
Układ zasilania silników o zapłonie samoczynnym
Układ zasilania silników o zapłonie samoczynnymUkład zasilania silników o zapłonie samoczynnym
Układ zasilania silników o zapłonie samoczynnym
Szymon Konkol - Publikacje Cyfrowe
 

What's hot (20)

Hipnotik İletişim ve İkna
Hipnotik İletişim ve İknaHipnotik İletişim ve İkna
Hipnotik İletişim ve İkna
 
Diagnostyka układów zasilania silników
Diagnostyka układów zasilania silnikówDiagnostyka układów zasilania silników
Diagnostyka układów zasilania silników
 
Marka Hikayeleri
Marka HikayeleriMarka Hikayeleri
Marka Hikayeleri
 
KOCLUKTA YAKLASIMLAR, EKOLLER, MODELLER VE KANITA DAYALI KOCLUK UYGULAMALARI
KOCLUKTA YAKLASIMLAR, EKOLLER, MODELLER VE KANITA DAYALI KOCLUK UYGULAMALARIKOCLUKTA YAKLASIMLAR, EKOLLER, MODELLER VE KANITA DAYALI KOCLUK UYGULAMALARI
KOCLUKTA YAKLASIMLAR, EKOLLER, MODELLER VE KANITA DAYALI KOCLUK UYGULAMALARI
 
Etkili i̇letişim
Etkili i̇letişimEtkili i̇letişim
Etkili i̇letişim
 
Proje hazırlama sunum metin gokhan
Proje hazırlama sunum metin   gokhanProje hazırlama sunum metin   gokhan
Proje hazırlama sunum metin gokhan
 
11 ekip çalışması ve temel öğeleri
11   ekip çalışması ve temel öğeleri11   ekip çalışması ve temel öğeleri
11 ekip çalışması ve temel öğeleri
 
Duygulari anlamak
Duygulari anlamakDuygulari anlamak
Duygulari anlamak
 
Nöromarketing
NöromarketingNöromarketing
Nöromarketing
 
Öğrenen Organizasyonlar - Learning Organizations
Öğrenen Organizasyonlar - Learning OrganizationsÖğrenen Organizasyonlar - Learning Organizations
Öğrenen Organizasyonlar - Learning Organizations
 
06 koçluk nitelikleri
06   koçluk nitelikleri06   koçluk nitelikleri
06 koçluk nitelikleri
 
Diksiyon, Hitabet ve Sunum Teknikleri
Diksiyon, Hitabet ve Sunum TeknikleriDiksiyon, Hitabet ve Sunum Teknikleri
Diksiyon, Hitabet ve Sunum Teknikleri
 
Slideshare net
Slideshare netSlideshare net
Slideshare net
 
Siyaset Bilimi ve Diğer Bilim Dallarıyla İlişkileri
Siyaset Bilimi ve Diğer Bilim Dallarıyla İlişkileriSiyaset Bilimi ve Diğer Bilim Dallarıyla İlişkileri
Siyaset Bilimi ve Diğer Bilim Dallarıyla İlişkileri
 
Telefonda iletişim teknikleri
Telefonda iletişim teknikleriTelefonda iletişim teknikleri
Telefonda iletişim teknikleri
 
Oreo Sosyal Medya Kullanımı
Oreo Sosyal Medya KullanımıOreo Sosyal Medya Kullanımı
Oreo Sosyal Medya Kullanımı
 
Reklam analizi
Reklam analiziReklam analizi
Reklam analizi
 
Qr kod nedir
Qr kod nedirQr kod nedir
Qr kod nedir
 
Mavi sunum
Mavi sunumMavi sunum
Mavi sunum
 
Układ zasilania silników o zapłonie samoczynnym
Układ zasilania silników o zapłonie samoczynnymUkład zasilania silników o zapłonie samoczynnym
Układ zasilania silników o zapłonie samoczynnym
 

Viewers also liked

Visual Basic Ders Notu
Visual Basic Ders NotuVisual Basic Ders Notu
Visual Basic Ders Notu
Kemal20100250
 
Ahmet Visual basic
Ahmet Visual basicAhmet Visual basic
Ahmet Visual basic
ahsen1971
 
Temel Koçluk Eğitimi
Temel Koçluk EğitimiTemel Koçluk Eğitimi
Temel Koçluk Eğitimi
Univerist
 
Başlangıç İngilizcesi E-Eğitimi
Başlangıç İngilizcesi E-EğitimiBaşlangıç İngilizcesi E-Eğitimi
Başlangıç İngilizcesi E-Eğitimi
Univerist
 
HTML Giriş E-Eğitimi
HTML Giriş E-EğitimiHTML Giriş E-Eğitimi
HTML Giriş E-Eğitimi
Univerist
 
Android Programlamaya Giriş E-Eğitimi
Android Programlamaya Giriş E-EğitimiAndroid Programlamaya Giriş E-Eğitimi
Android Programlamaya Giriş E-Eğitimi
Univerist
 
Temel Düzeyde Microsoft PowerPoint E-Eğitimi
Temel Düzeyde Microsoft PowerPoint E-EğitimiTemel Düzeyde Microsoft PowerPoint E-Eğitimi
Temel Düzeyde Microsoft PowerPoint E-Eğitimi
Univerist
 
Bilinçaltı ve Öğrenme Temel Bilgiler-1
Bilinçaltı ve Öğrenme Temel Bilgiler-1Bilinçaltı ve Öğrenme Temel Bilgiler-1
Bilinçaltı ve Öğrenme Temel Bilgiler-1
Univerist
 
Zaman ve Toplantı Yönetimi E-Eğitimi
Zaman ve Toplantı Yönetimi E-EğitimiZaman ve Toplantı Yönetimi E-Eğitimi
Zaman ve Toplantı Yönetimi E-Eğitimi
Univerist
 
C++ Programlamaya Giriş E-Eğitimi
C++ Programlamaya Giriş E-EğitimiC++ Programlamaya Giriş E-Eğitimi
C++ Programlamaya Giriş E-Eğitimi
Univerist
 
Temel Düzeyde MySQL ve PHP Eğitimleri 1
Temel Düzeyde MySQL ve PHP Eğitimleri 1Temel Düzeyde MySQL ve PHP Eğitimleri 1
Temel Düzeyde MySQL ve PHP Eğitimleri 1
Univerist
 
Temel Düzeyde Microsoft Word E-Eğitimi
Temel Düzeyde Microsoft Word E-EğitimiTemel Düzeyde Microsoft Word E-Eğitimi
Temel Düzeyde Microsoft Word E-Eğitimi
Univerist
 
Yaşam ve İnsan
Yaşam ve İnsanYaşam ve İnsan
Yaşam ve İnsan
Univerist
 
Beni Dinle Anla
Beni Dinle AnlaBeni Dinle Anla
Beni Dinle Anla
Univerist
 
Gestalt Yaklaşımı
Gestalt YaklaşımıGestalt Yaklaşımı
Gestalt Yaklaşımı
Univerist
 
İleri Düzeyde Microsoft PowerPoint E-Eğitimi
İleri Düzeyde Microsoft PowerPoint E-Eğitimiİleri Düzeyde Microsoft PowerPoint E-Eğitimi
İleri Düzeyde Microsoft PowerPoint E-Eğitimi
Univerist
 
Bireysel Motivasyon Teknikleri
Bireysel Motivasyon TeknikleriBireysel Motivasyon Teknikleri
Bireysel Motivasyon Teknikleri
Univerist
 
Çoklu Zeka
Çoklu ZekaÇoklu Zeka
Çoklu Zeka
Univerist
 
İleri Düzeyde Microsoft Word E-Eğitimi
İleri Düzeyde Microsoft Word E-Eğitimiİleri Düzeyde Microsoft Word E-Eğitimi
İleri Düzeyde Microsoft Word E-Eğitimi
Univerist
 
Temel Düzeyde Microsoft Excel E-Eğitimi
Temel Düzeyde Microsoft Excel E-EğitimiTemel Düzeyde Microsoft Excel E-Eğitimi
Temel Düzeyde Microsoft Excel E-Eğitimi
Univerist
 

Viewers also liked (20)

Visual Basic Ders Notu
Visual Basic Ders NotuVisual Basic Ders Notu
Visual Basic Ders Notu
 
Ahmet Visual basic
Ahmet Visual basicAhmet Visual basic
Ahmet Visual basic
 
Temel Koçluk Eğitimi
Temel Koçluk EğitimiTemel Koçluk Eğitimi
Temel Koçluk Eğitimi
 
Başlangıç İngilizcesi E-Eğitimi
Başlangıç İngilizcesi E-EğitimiBaşlangıç İngilizcesi E-Eğitimi
Başlangıç İngilizcesi E-Eğitimi
 
HTML Giriş E-Eğitimi
HTML Giriş E-EğitimiHTML Giriş E-Eğitimi
HTML Giriş E-Eğitimi
 
Android Programlamaya Giriş E-Eğitimi
Android Programlamaya Giriş E-EğitimiAndroid Programlamaya Giriş E-Eğitimi
Android Programlamaya Giriş E-Eğitimi
 
Temel Düzeyde Microsoft PowerPoint E-Eğitimi
Temel Düzeyde Microsoft PowerPoint E-EğitimiTemel Düzeyde Microsoft PowerPoint E-Eğitimi
Temel Düzeyde Microsoft PowerPoint E-Eğitimi
 
Bilinçaltı ve Öğrenme Temel Bilgiler-1
Bilinçaltı ve Öğrenme Temel Bilgiler-1Bilinçaltı ve Öğrenme Temel Bilgiler-1
Bilinçaltı ve Öğrenme Temel Bilgiler-1
 
Zaman ve Toplantı Yönetimi E-Eğitimi
Zaman ve Toplantı Yönetimi E-EğitimiZaman ve Toplantı Yönetimi E-Eğitimi
Zaman ve Toplantı Yönetimi E-Eğitimi
 
C++ Programlamaya Giriş E-Eğitimi
C++ Programlamaya Giriş E-EğitimiC++ Programlamaya Giriş E-Eğitimi
C++ Programlamaya Giriş E-Eğitimi
 
Temel Düzeyde MySQL ve PHP Eğitimleri 1
Temel Düzeyde MySQL ve PHP Eğitimleri 1Temel Düzeyde MySQL ve PHP Eğitimleri 1
Temel Düzeyde MySQL ve PHP Eğitimleri 1
 
Temel Düzeyde Microsoft Word E-Eğitimi
Temel Düzeyde Microsoft Word E-EğitimiTemel Düzeyde Microsoft Word E-Eğitimi
Temel Düzeyde Microsoft Word E-Eğitimi
 
Yaşam ve İnsan
Yaşam ve İnsanYaşam ve İnsan
Yaşam ve İnsan
 
Beni Dinle Anla
Beni Dinle AnlaBeni Dinle Anla
Beni Dinle Anla
 
Gestalt Yaklaşımı
Gestalt YaklaşımıGestalt Yaklaşımı
Gestalt Yaklaşımı
 
İleri Düzeyde Microsoft PowerPoint E-Eğitimi
İleri Düzeyde Microsoft PowerPoint E-Eğitimiİleri Düzeyde Microsoft PowerPoint E-Eğitimi
İleri Düzeyde Microsoft PowerPoint E-Eğitimi
 
Bireysel Motivasyon Teknikleri
Bireysel Motivasyon TeknikleriBireysel Motivasyon Teknikleri
Bireysel Motivasyon Teknikleri
 
Çoklu Zeka
Çoklu ZekaÇoklu Zeka
Çoklu Zeka
 
İleri Düzeyde Microsoft Word E-Eğitimi
İleri Düzeyde Microsoft Word E-Eğitimiİleri Düzeyde Microsoft Word E-Eğitimi
İleri Düzeyde Microsoft Word E-Eğitimi
 
Temel Düzeyde Microsoft Excel E-Eğitimi
Temel Düzeyde Microsoft Excel E-EğitimiTemel Düzeyde Microsoft Excel E-Eğitimi
Temel Düzeyde Microsoft Excel E-Eğitimi
 

Similar to Temel Düzeyde Visual Studio Eğitimleri

Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
bykezza
 
Osman kurt & zahide aytar
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytarOsman Kurt
 
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
Sinan Bozkuş
 
Yazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYazılım Geliştirme Teknolojileri
Yazılım Geliştirme Teknolojileri
Yusuf AYTİN
 
Tizen
TizenTizen
.Net Core sunum
.Net Core sunum.Net Core sunum
.Net Core sunum
Şerif Aydın
 
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine GirişSilk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Burak AVCI, MEM, PSM I®
 
Net beans nedir
Net beans nedirNet beans nedir
Net beans nedir
guest441e155
 
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeAndroid Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Muharrem Tac
 
Internet programcılığı-i
Internet programcılığı-iInternet programcılığı-i
Internet programcılığı-iemre61
 
Windows Store Uygulama Geliştirmeye Giriş
Windows Store Uygulama Geliştirmeye GirişWindows Store Uygulama Geliştirmeye Giriş
Windows Store Uygulama Geliştirmeye GirişIbrahim Ersoy
 
ASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a GeçişASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a Geçiş
Sinan Bozkuş
 
Htmlders
HtmldersHtmlders
Htmlders
Taha Erkan
 
Compose Camp - 1.Gün Unit 1 Pathway 3.pptx
Compose Camp - 1.Gün Unit 1  Pathway 3.pptxCompose Camp - 1.Gün Unit 1  Pathway 3.pptx
Compose Camp - 1.Gün Unit 1 Pathway 3.pptx
GDSCOM
 
Visual Studio Temelleri E-Eğitimi
Visual Studio Temelleri E-EğitimiVisual Studio Temelleri E-Eğitimi
Visual Studio Temelleri E-Eğitimi
Univerist
 
Internet programcılığı 1
Internet programcılığı 1Internet programcılığı 1
Internet programcılığı 1Erol Dizdar
 

Similar to Temel Düzeyde Visual Studio Eğitimleri (20)

Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
 
Osman kurt & zahide aytar
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytar
 
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
 
2010 01
2010 012010 01
2010 01
 
Yazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYazılım Geliştirme Teknolojileri
Yazılım Geliştirme Teknolojileri
 
Tizen
TizenTizen
Tizen
 
.Net Core sunum
.Net Core sunum.Net Core sunum
.Net Core sunum
 
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine GirişSilk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
 
Net beans nedir
Net beans nedirNet beans nedir
Net beans nedir
 
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeAndroid Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
 
Internet programcılığı-i
Internet programcılığı-iInternet programcılığı-i
Internet programcılığı-i
 
Windows Store Uygulama Geliştirmeye Giriş
Windows Store Uygulama Geliştirmeye GirişWindows Store Uygulama Geliştirmeye Giriş
Windows Store Uygulama Geliştirmeye Giriş
 
ASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a GeçişASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a Geçiş
 
Htmlders
HtmldersHtmlders
Htmlders
 
Compose Camp - 1.Gün Unit 1 Pathway 3.pptx
Compose Camp - 1.Gün Unit 1  Pathway 3.pptxCompose Camp - 1.Gün Unit 1  Pathway 3.pptx
Compose Camp - 1.Gün Unit 1 Pathway 3.pptx
 
Web
WebWeb
Web
 
Sunu (1)
Sunu (1)Sunu (1)
Sunu (1)
 
Sunu (1)
Sunu (1)Sunu (1)
Sunu (1)
 
Visual Studio Temelleri E-Eğitimi
Visual Studio Temelleri E-EğitimiVisual Studio Temelleri E-Eğitimi
Visual Studio Temelleri E-Eğitimi
 
Internet programcılığı 1
Internet programcılığı 1Internet programcılığı 1
Internet programcılığı 1
 

More from Univerist

Kariyer Yapma Yöntemleri
Kariyer Yapma YöntemleriKariyer Yapma Yöntemleri
Kariyer Yapma Yöntemleri
Univerist
 
İşletmelerde İnsan Kaynakları Yönetimi
İşletmelerde İnsan Kaynakları Yönetimiİşletmelerde İnsan Kaynakları Yönetimi
İşletmelerde İnsan Kaynakları Yönetimi
Univerist
 
Stratejik Yönetimin Faydaları
Stratejik Yönetimin FaydalarıStratejik Yönetimin Faydaları
Stratejik Yönetimin Faydaları
Univerist
 
Sertifika Eğitimi Zorunluluğu
Sertifika Eğitimi ZorunluluğuSertifika Eğitimi Zorunluluğu
Sertifika Eğitimi Zorunluluğu
Univerist
 
E Sertifika
E SertifikaE Sertifika
E Sertifika
Univerist
 
6 Sigma Yöntemi
6 Sigma Yöntemi6 Sigma Yöntemi
6 Sigma Yöntemi
Univerist
 
Yaşam Koçuyla Daha Kolay Bir Hayat
Yaşam Koçuyla Daha Kolay Bir HayatYaşam Koçuyla Daha Kolay Bir Hayat
Yaşam Koçuyla Daha Kolay Bir Hayat
Univerist
 
Yaşam Koçuyla Çözüm Olun
Yaşam Koçuyla Çözüm OlunYaşam Koçuyla Çözüm Olun
Yaşam Koçuyla Çözüm Olun
Univerist
 
Yaşam Koçuyla Çevrenizi Eğitin
Yaşam Koçuyla Çevrenizi EğitinYaşam Koçuyla Çevrenizi Eğitin
Yaşam Koçuyla Çevrenizi Eğitin
Univerist
 
Vizyonunuz Hedeflerinizi Oluştursun
Vizyonunuz Hedeflerinizi OluştursunVizyonunuz Hedeflerinizi Oluştursun
Vizyonunuz Hedeflerinizi Oluştursun
Univerist
 
Sürdürülebilir ve Tatmin Edici Başarıya Ulaşmak için 10 Adım
Sürdürülebilir ve Tatmin Edici Başarıya Ulaşmak için 10 AdımSürdürülebilir ve Tatmin Edici Başarıya Ulaşmak için 10 Adım
Sürdürülebilir ve Tatmin Edici Başarıya Ulaşmak için 10 Adım
Univerist
 
Koçluk Hizmetiyle Değişim
Koçluk Hizmetiyle DeğişimKoçluk Hizmetiyle Değişim
Koçluk Hizmetiyle Değişim
Univerist
 
Koçluk Hizmetiyle 10 Kat Fazla Sevgiye Sahip Olun
Koçluk Hizmetiyle 10 Kat Fazla Sevgiye Sahip OlunKoçluk Hizmetiyle 10 Kat Fazla Sevgiye Sahip Olun
Koçluk Hizmetiyle 10 Kat Fazla Sevgiye Sahip Olun
Univerist
 
Kelimelerinizi Güçlendirin
Kelimelerinizi GüçlendirinKelimelerinizi Güçlendirin
Kelimelerinizi Güçlendirin
Univerist
 
Bir Yaşam Koçu İle Çalışmanın 6 Faydası
Bir Yaşam Koçu İle Çalışmanın 6 FaydasıBir Yaşam Koçu İle Çalışmanın 6 Faydası
Bir Yaşam Koçu İle Çalışmanın 6 Faydası
Univerist
 
İsteğiniz Hayata Kavuşmak İçin Yapmanız Gereken 25 Şey
İsteğiniz Hayata Kavuşmak İçin Yapmanız Gereken 25 Şeyİsteğiniz Hayata Kavuşmak İçin Yapmanız Gereken 25 Şey
İsteğiniz Hayata Kavuşmak İçin Yapmanız Gereken 25 Şey
Univerist
 
Bir Koçla Çalışın
Bir Koçla ÇalışınBir Koçla Çalışın
Bir Koçla Çalışın
Univerist
 
Beyniniz Haklı Olmaya Bağımlı
Beyniniz Haklı Olmaya BağımlıBeyniniz Haklı Olmaya Bağımlı
Beyniniz Haklı Olmaya Bağımlı
Univerist
 
Personel,Özlük İşleri ve Bordrolama-5
Personel,Özlük İşleri ve Bordrolama-5Personel,Özlük İşleri ve Bordrolama-5
Personel,Özlük İşleri ve Bordrolama-5
Univerist
 
Personel,Özlük İşleri ve Bordrolama-6
Personel,Özlük İşleri ve Bordrolama-6Personel,Özlük İşleri ve Bordrolama-6
Personel,Özlük İşleri ve Bordrolama-6
Univerist
 

More from Univerist (20)

Kariyer Yapma Yöntemleri
Kariyer Yapma YöntemleriKariyer Yapma Yöntemleri
Kariyer Yapma Yöntemleri
 
İşletmelerde İnsan Kaynakları Yönetimi
İşletmelerde İnsan Kaynakları Yönetimiİşletmelerde İnsan Kaynakları Yönetimi
İşletmelerde İnsan Kaynakları Yönetimi
 
Stratejik Yönetimin Faydaları
Stratejik Yönetimin FaydalarıStratejik Yönetimin Faydaları
Stratejik Yönetimin Faydaları
 
Sertifika Eğitimi Zorunluluğu
Sertifika Eğitimi ZorunluluğuSertifika Eğitimi Zorunluluğu
Sertifika Eğitimi Zorunluluğu
 
E Sertifika
E SertifikaE Sertifika
E Sertifika
 
6 Sigma Yöntemi
6 Sigma Yöntemi6 Sigma Yöntemi
6 Sigma Yöntemi
 
Yaşam Koçuyla Daha Kolay Bir Hayat
Yaşam Koçuyla Daha Kolay Bir HayatYaşam Koçuyla Daha Kolay Bir Hayat
Yaşam Koçuyla Daha Kolay Bir Hayat
 
Yaşam Koçuyla Çözüm Olun
Yaşam Koçuyla Çözüm OlunYaşam Koçuyla Çözüm Olun
Yaşam Koçuyla Çözüm Olun
 
Yaşam Koçuyla Çevrenizi Eğitin
Yaşam Koçuyla Çevrenizi EğitinYaşam Koçuyla Çevrenizi Eğitin
Yaşam Koçuyla Çevrenizi Eğitin
 
Vizyonunuz Hedeflerinizi Oluştursun
Vizyonunuz Hedeflerinizi OluştursunVizyonunuz Hedeflerinizi Oluştursun
Vizyonunuz Hedeflerinizi Oluştursun
 
Sürdürülebilir ve Tatmin Edici Başarıya Ulaşmak için 10 Adım
Sürdürülebilir ve Tatmin Edici Başarıya Ulaşmak için 10 AdımSürdürülebilir ve Tatmin Edici Başarıya Ulaşmak için 10 Adım
Sürdürülebilir ve Tatmin Edici Başarıya Ulaşmak için 10 Adım
 
Koçluk Hizmetiyle Değişim
Koçluk Hizmetiyle DeğişimKoçluk Hizmetiyle Değişim
Koçluk Hizmetiyle Değişim
 
Koçluk Hizmetiyle 10 Kat Fazla Sevgiye Sahip Olun
Koçluk Hizmetiyle 10 Kat Fazla Sevgiye Sahip OlunKoçluk Hizmetiyle 10 Kat Fazla Sevgiye Sahip Olun
Koçluk Hizmetiyle 10 Kat Fazla Sevgiye Sahip Olun
 
Kelimelerinizi Güçlendirin
Kelimelerinizi GüçlendirinKelimelerinizi Güçlendirin
Kelimelerinizi Güçlendirin
 
Bir Yaşam Koçu İle Çalışmanın 6 Faydası
Bir Yaşam Koçu İle Çalışmanın 6 FaydasıBir Yaşam Koçu İle Çalışmanın 6 Faydası
Bir Yaşam Koçu İle Çalışmanın 6 Faydası
 
İsteğiniz Hayata Kavuşmak İçin Yapmanız Gereken 25 Şey
İsteğiniz Hayata Kavuşmak İçin Yapmanız Gereken 25 Şeyİsteğiniz Hayata Kavuşmak İçin Yapmanız Gereken 25 Şey
İsteğiniz Hayata Kavuşmak İçin Yapmanız Gereken 25 Şey
 
Bir Koçla Çalışın
Bir Koçla ÇalışınBir Koçla Çalışın
Bir Koçla Çalışın
 
Beyniniz Haklı Olmaya Bağımlı
Beyniniz Haklı Olmaya BağımlıBeyniniz Haklı Olmaya Bağımlı
Beyniniz Haklı Olmaya Bağımlı
 
Personel,Özlük İşleri ve Bordrolama-5
Personel,Özlük İşleri ve Bordrolama-5Personel,Özlük İşleri ve Bordrolama-5
Personel,Özlük İşleri ve Bordrolama-5
 
Personel,Özlük İşleri ve Bordrolama-6
Personel,Özlük İşleri ve Bordrolama-6Personel,Özlük İşleri ve Bordrolama-6
Personel,Özlük İşleri ve Bordrolama-6
 

Temel Düzeyde Visual Studio Eğitimleri

  • 1. Temel Düzeyde Visual Studio Eğitimleri Visual Studio Ortamının İncelenmesi Bilgi Teknolojisi Eğitim Programları Bu Çalışma Univerist Materyal geliştirme ekibi tarafından Bilgi Teknolojileri Eğitimleri için derlenmiştir. Dökümanla ilgili kaynaklar makalenin sonunda “Kaynakça” kısmında detaylı bir şekilde belirtilmiştir.
  • 2. 1 1. GEREKLİLİKLER 1.1. .NET FRAMEWORK .NET Framework, farklı programlama dilleri ve kütüphaneleri ile birlikte daha kolay Windows tabanlı uygulamalar oluşturmak için Microsoft tarafından yapılan geliştirme ve uygulama ortamıdır. .  NET Framework, Windows tabanlı uygulamalarda gerekli olan alt yapıyı sağlar.  Standart network (ağ) protokol ve şartnamelerini destekler.  Farklı programlama dillerini destekler.  Farklı dillerde geliştirilen kütüphane programlarını destekler.  Windows Server ailesi ve Windows XP,7,8 gibi farklı platformları destekler. NET Framework, Common Language Runtime (CLR) ve Framework Class Library (FCL) olmak üzere iki ana parçadan meydana gelmektedir. Bunlarla ilgili detaylı bilgi ileride verilecektir. 1.2. VISUAL STUDIO .NET Visual Studio .NET, Windows ve Web uygulamalarını geliştirmek için bir ortamdır.En büyük özelliklerinden birisi IDE (Integrated Development Environment-Tümleşik Geliştirme Ortamı) dediğimiz ortak bir uygulama geliştirme platformu sunmasıdır. Visual Basic .NET, uygulamalarınız için kullanacağınız dillerden sadece biridir. Gerçekte Visual Studio .NET birçok dile ev sahipliği yapacak şekilde tasarlandı ve birçok firma, Visual Studio .NET içerisindeki tümleşik birçok dille çalışıyor. İster C#, J#, C++ ile uygulama geliştirin, ister Visual Basic .NET ile; kullanacağınız en etkin ve ortak uygulama geliştirme platformu Visual Studio .NET olacaktır.Öyleyse Visual Studio. NET ile diğer programlama dilleri arasındaki fark nedir? Visual Studio .NET uygulamaları geliştirmek için gerekli tüm araçları sağlayan bir ortamdır.Programlama dilleri Windows uygulamalarının sadece bir yönüdür. Uygulamaların sanal arabirimi özel bir dile bağımlı değildir. Uygulamalarınızın arabirimleri programların uygulamaları için kullandıkları dil koduna bakılmadan tüm programlar tarafından aynı zamanda kullanılabilir. Visual Studio .NET, veri tabanına bağlantı sağlamak, nesneleri kontrol etmek, bilgilere yeniden ulaşma ve hatta herhangi bir dilden ulaşabileceğiniz nesneleri depolamak için araçlar sağlar. 1.2.1. Visual Studio .NET Programının Kurulması Visual Studio .NET paketinde Visual Basic .NET, Visual C++ .NET, ve Visual C# .NET programlama dilleri yer almaktadır. İsteğe bağlı olarak tüm programlama dillerini kurabileceğiniz gibi sadece bu modülde incelenecek olan Visual Basic .NET’i de kurabilirsiniz.Visual Studio .NET CD/DVD’sini bilgisayarınıza takınca ekrana Visual Studio .NET kurulum penceresi gelir.
  • 3. 2 Resim 1.1: Visual Studio .NET kurulum penceresi Visual Studio .NET kurulum penceresinde “Install Visual Studio 2010” sekmesi seçilerek kurulum başlatılır. Resim 1.2: Visual Studio .NET son kullanıcı lisans sözleşmesi penceresi
  • 4. 3 Lisans sözleşmesini kabul etmek ve kuruluma devam etmek için “I accept the agreement (Sözleşmeyi kabul ediyorum)” yazan seçeneği işaretliyoruz. Böylece Next butonu aktif hale geliyor. Next butonunu tıkladığınızda kurulum seçenekleri, kurulumun nereye yapılacağı ve bilgisayarınızdaki sabit sürücülerin disk kapasitesini gösteren pencere gelecektir. Resim 1.3: Visual Studio .NET kurulum seçenekleri penceresinin görünümü Kurulum seçenekleri penceresinde Full ve Custom seçenekleri bulunur.  Full: Üründeki tüm özelliklerin kurulumu  Custom: Üründeki tanımlı özellikleri seçme veya iptal etme Bilgisayarınıza Visual Studio .NET 2010 içerisinde bulunan programlama dillerinden sadece Visual Basic .NET programını kurabilmeniz için “Custom” seçeneğini işaretlemeniz yeterli olacaktır.
  • 5. 4 Resim 1.4: Custom seçeneği seçildikten sonra kurulum penceresine ait görünüm Resim 1.4’te verilen yapıya benzer şekilde kurulum özelliklerini belirledikten sonra “Install” düğmesine tıklayınca kurulum başlayacaktır (Resim 1.5). Resim 1.5: Kurulum başlama görüntüsü
  • 6. 5 1.3. WINDOWS VE WEB FORMLARI Windows formları, projenin kullanıcı arabirimidir. Hazırlayacağınız projelere bilgi giriş ve çıkışını bu formlar ve üzerine yerleştireceğiniz nesneler yardımıyla yapacaksınız. Visual Basic .NET’te form eklemek için Solution Explorer penceresindeki projeyi kaydettiğiniz ada sağ tıklayınca gelen menüden sırasıyla “Add/Windows Form” komutları verilir (Resim 1.6, 1.7). Resim 1.6:Windows Form ekleme penceresi Resim 1.7:Windows Formu Programın kullanıcı arabirimini yani formu görüntülemek için Solution Explorer penceresindeki View Designer düğmesini, kodlarını görüntülemek için ise View Code düğmesini tıklayabilirsiniz. Visual Basic .NET ile programlama yaparken Web Formlarını da kullanabilirsiniz. Web formları iki bileşenden oluşur; görsel kısım ve kod kısmı. Görsel kısım içlerinde HTML elemanlarını ve Web Form kontrollerini barındırır. Hem Görsel kısım hem de Kod kısmı .aspx dosyamızın içinde yer alır. Web From eklemek için File Menüsü / New / File komutları sırasıyla verilir (Resim 1.8).
  • 7. 6 Resim 1.8:Web Form ekleme penceresi Web formu projenize ekledikten sonra tasarıma ve kaynak kod yazmaya imkân veren bir pencere karşınıza çıkar (Resim 1.9,1.10). Resim 1.9:Web Form Tasarım (Design) penceresi
  • 8. 7 Resim 1.10:Web Form Kaynak Kod (Source) penceresi Web formlarını ve kodlarını ayrı ayrı yazsak bile aslında bunun ikisi tek bir birim olarak ele alınır. Web formları .NET Framework'u tarafından derlendikten sonra tek bir sınıf olarak ortaya çıkar. Ortaya çıkan yeni sınıfımız Visual Basic .NET'in Page sınıfından türetilmiş bir sınıf olup ek olarak içinde sizin kodlarınız, Web form kontrolleri ve statik HTML kodları yer alır. Web formlarının web sunucusunda çalışma şekli normal bir web sayfası veya herhangi bir Web programlama modeline çok benzer. Önce sayfa ,Web sunucusundan istenir. Sunucu sayfayı bulur ve eğer sayfa dinamik sayfa ise (asp, php, jsp veya aspx gibi) gerekli işleri dinamik içerik oluşturmadan sorumlu bileşen yapar ve kullanıcının tarayıcısına yollanır. Fakat ASP.NET'te .NET Framework birçok işi sizin yerinize yapar. Mesela tarayıcınızın yapısına göre en uygun sonuç üretilir ve Web sunucusuna, oradan da size yollanır. 1.4. INTERNET TARAYICISI, HTML Hyper Text Markup Language (HTML) belgelerin birbirlerine nasıl bağlanacaklarını ve belge içindeki metin ve resimlerin nasıl yerleşeceklerini belirleyen ve etiket (tag) denilen kod parçalarından oluşan bir sistemdir. HTML, internet üzerinde Web sayfası oluşturmak için kullanılan bir dildir. HTML dosyalarının aktarımı için HTTP (Hyper Text Transfer Protocol) kullanılır. HTML dosyaları sunucu bilgisayarın sabit diskinde .html ya da .htm uzantısı ile saklanır. Html dosyaları düz yazı dosyalarından başka bir şey değildir. Visual Basic .NET ile programlama yaparken HTML Page sayfalarını da kullanabilirsiniz. HTML Page tıpkı Web Form gibi iki bileşenden oluşur; tasarım ve kaynak kod kısmı. Tasarım kısmı içlerinde HTML elemanlarını ve Web Form kontrollerini barındırır. Hem tasarım kısmı hem de kaynak kod kısmı aynı .htm dosyanızın içinde yer alır. HTML sayfası eklemek için File Menüsü / New / File / HTML Page komutları sırasıyla verilir.
  • 9. 8 1.5. GUI (GRAPHICAL USER INTERFACE) Çeşitli Windows uygulamaları geliştirmek için formlar kullanılır. Bu formlar programın görsel kısmını oluşturup pencereler, menüler, düğmeler vb araçlar yoluyla kullanıcı ile iletişim kurmayı sağlar. Form ve üzerindeki kontrol elemanları beraberce grafiksel kullanıcı arabirimi (GUI) olarak adlandırılmaktadır.GUI, formlar aracılığıyla programlar çalıştırmayı, komutlar vermeyi, bilgisayarla etkileşim kurmayı sağlayan görsel temelli çalışma ortamıdır. Resim 1.11: Grafiksel kullanıcı arabirimi (GUI) 2. WINDOWS UYGULAMASI 2.1. PROJE, KAYNAK DOSYA, SOLUTION Visual Basic .NET’i çalıştırmak için programı kurduktan sonra Başlat/Programlar/Microsoft Visual Studio/Microsoft Visual Studio işlem sırası izlenir. Resim 2.1:Visual Studio .NET’i başlatma ekranı
  • 10. 9 Program çalıştırıldığında önce aşağıdaki Start Page diyalog kutusu ekrana gelir (Resim2.2). Giriş sayfasında bulunan Recent Projects kısmında bulunan Open Project (Proje Aç) ile daha önce kaydedilmiş bir projeyi açabilirsiniz. Create Project (Proje Oluştur) ile de yeni bir proje oluşturmak için ilk adımı atabilirsiniz.Getting Started seçeneği ise Visual Studio .NET ile ilgili bilgilere ve örnek uygulamalara ulaşmak için kullanılabilecek seçenekler bulunur. 2.1.1.Proje Çeşitleri Standart araç çubuğunda bulunan New Project ya da Recent Project kısmında bulunan Create Project seçeneği tıklandığında hazırlayacağınız programlara uygun projeler seçilebilir. Windows Form Application (Windows Form Uygulaması) Geleneksel bağımsız (Standalone) Windows uygulamaları ve Web ya da İnternet üzerinden çalışabilen dağıtık (distributed) ağ uygulamaları geliştirmek için kullanılan menüdür. Örneğin, Windows Hesap Makinesi, Wordpad, Skype, Visual Studio vb… Bizlerde girişte konuları daha iyi anlamak için Windows Form Uygulamaları oluşturarak gideceğiz. WPF (Windows Presentation Foundation) Application (Windows Sunum Temelli Uygulama) WPF altyapısını kullanan bağımsız Windows uygulamaları geliştirmek için bu projeyi kullanırız. WPF, Microsoft DirectX teknolojisini kullanarak işletim sisteminin kullanıcı arayüz özelliklerine ilave olarak daha zengin bir kullanıcı arayüzü sunar. WPF projelerinde kullanıcı arayüzü elemanlarına erişim için XML tabanlı bir dil olan XAML dili kullanılmaktadır.
  • 11. 10 Console Application (Konsol Uygulaması) Grafik bir ara yüzden son derece uzak olan uygulamalardır. Kullanıcı ile olan etkileşimi tamamen metin tabanlıdır ve bu etkileşim komut satırı üzerinden gerçekleştirilir. Windows komut satırı üzerinden çalıştırılan programlar buna örnek olarak gösterilebilir. Class Library (Sınıf Kütüphanesi) Birçok uygulama tarafından ortak olarak kullanılabilecek sınıf ve bileşenler oluşturmak için kullanılır. .dll dosyaları sınıf kütüphanesi tipinde olan dosyalara örnek olarak gösterilebilir. WPF Browser Application (WPF Web Tarayıcı Uygulaması) Teknoloji açısından karşılaştırıldığı zaman WPF uygulamalarıyla aynıdır. WPF uygulamaları doğrudan işletim sisteminde çalıştırılır. WPF Web uygulamaları ise Web Tarayıcısı ile çalıştırılır. Aradaki fark budur. Bu sayede Web Tarayıcısına gömülü uygulamalar geliştirebilirsiniz. Empty Project (Boş Proje) Kendi proje tipimizi oluşturmak istediğimiz zaman bunu kullanabiliriz. Bu proje seçildiğinde sadece uygulama bilgilerini saklamak için gereken dosya yapısı oluşturulur. Gerisi size kalmıştır. Sınıf ve referansları sizin eklemeniz gerekir. Visual Basic .NET projelerinize otomatik olarak isim verecek ve “BelgelerimVisual Studio 2010Projects “ klasörü altında yine kendi adında bir klasör oluşturarak kaydedecektir. İsterseniz projenin adını ve konumunu değiştirebilirsiniz. 2.2. MSIL (MİCROSOFT INTERMEDİA LANGUAGE) MSIL (Microsoft Intermediate Language) yani Microsoft Ara Dili , nesneye yönelik programlamayı destekleyerek, Visual Basic .NET’te yazmış olduğunuz kodların ilk derleme anında dönüştürüldüğü bir ara dildir.MSIL işlemciden bağımsız komut setinden oluşmaktadır. Bu komut seti içerisinde nesnelerin yüklenmesi, depolanması ve çalıştırılmasını sağlayan komutların yanı sıra aynı zamanda nesneler üzerinde metot çağrımını sağlayan komutlar da yer almaktadır. .NET Framework ile yazılmış bir kaynak kodun derlenmesi sonucu MSIL kodu oluşmaktadır. NET uygulamalarının kaynak kodları çalışır hale gelebilmek için iki derleme aşamasından geçmektedir. İlk derlemede kaynak kodunuz, MSIL (Microsoft Intermediate Language) ara dili ile, Assembly (sembolik makine) diline yakın bir dile dönüştürülmektedir. Oluşan .exe ve .dll dosyalar yürütülebilir kodlar yerine ara dil içermektedir. Bu dosyaları çalıştırmak istendiğinde, devreye CLR girecektir. Bu ara dildeki talimatlar, ikinci derleme aşamasına girecektir ve doğal makine koduna dönüşecektir. Bu ikinci derleme, uygulamanın çalışacağı yerde olacağından oluşacak doğal kod o ortama özgü olacaktır. 2.3. ASSEMBLY (BÜTÜNLÜK) VE NATIVE CODE (DOĞAL KOD) Assembly; herhangi bir mikroişlemciye ait sembolik makine dilidir. Makinenin anlayabildiği tek dil 0 ve 1’dir. Makine dili çok hızlıdır. Çünkü yapılan tek işlem hexadecimal bir sayıyı binary sayıya çevirmektir. .NET 'teki Assembly kavramı ile herhangi bir mikroişlemciye ait makine dili birbirlerinden çok farklı şeyleri ifade etmektedir. Net 'te derlenen sınıf kütüphaneleri (class library 'ler) ismine
  • 12. 11 Assembly denilen dll dosyalarını oluşturur. Bu anlamda bir Assembly; bir ya da daha fazla fiziksel dosyayı barındıran bir koleksiyondur. Bu dosyalar; Assembly içerisindeki derlenmiş sınıfların kodları, resimler, resource dosyaları ve diğer binary dosyalardır. Daha önceden Visual Basic programı ile, bilgisayarınızda hazırladığınız bir uygulamayı, kopyalayıp başka bir bilgisayara taşıdığınızda uygulamanın çalışmadığını görürdünüz. Bunun nedeni; uygulamayı taşıdığınız bilgisayardaki işletim sisteminin, uygulamanızın kullandığı bileşenler hakkında herhangi bir bilgiye sahip olmamasıydı. Bu bilgiyi alamamasının nedeni kimlik bilgilerini (isim, versiyon bilgisi vb.) registry'e (kayıt defteri) yazmalarıydı. Visual Basic.NET’te ise geliştirilen Assembly tekniği sayesinde bir Visual Basic .NET programı bulunduğu dizin ile birlikte (.Net Framework'ün kurulu olduğu) başka bir bilgisayar kopyalandığında çalışacaktır. Çünkü .Net Assembly'leri; olarak kimlik bilgilerini registry'e yazmak yerine kendi üzerlerinde taşır. 2.4. .NET FRAMEWORK CLASS LIBRARY VE COMMON LANGUAGE RUNTIME .NET Framework aşağıdaki bileşenleri içerir. *Framework Class Libraries: Temel sınıf kütüphanelerinden sorumludur. Nesneye dayalı işlevsel kütüphane fonksiyon paketlerini içerir. Giriş/çıkış, string işlemleri, güvenlik yönetimi, ağ iletişimi, thread yönetimi, metin işleme ve kullanıcı arayüz tasarımı gibi standart fonksiyonları kapsamaktadır. ADO.NET sınıfları; OLE DB, ODBC, Oracle ve SQL Server arayüzleri üzerinden veriye erişimi sağlamaktadır. XML sınıfları ise XML manipulasyonu, XML veri içerisinde arama yapabilme ve dönüşüm fonksiyonları gibi temel fonksiyonlara sahiptir. ASP.NET sınıfları Web tabanlı uygulamalar ve Web servisleri geliştirebilmek için destek sağlamaktadır. Windows Forms sınıfları ise masaüstü uygulamaları geliştirebilmeyi sağlamaktadır. Sınıf kütüphaneleri, .NET Framework dilleri arasında ortak, tutarlı bir geliştirme arayüzü sağlamaktadır.Sınıf kitaplıklarında ASP.NET, ADO.NET, Windows Formları ve Enterprise Services teknolojileri yer almaktadır.  ASP.NET: Web servislerine tam destek vererek, Web erişimli uygulamaları geliştirmek için kullanılır.  ADO.NET: İlişkisel veri tabanı yönetim sistemlerinde yer alan verilere erişmek için kullanılır.  Windows Forms; Her bir .NET Framework programlama dili için, Windows tabanlı arabirimler yapmak için standart sınıflardan meydana gelir.  Enterprise Services; COM+ servislerine erişmek için ilgili sınıfları içerir.
  • 13. 12 Şekil 2.1: .NET Framework altında çalışan teknolojiler *Common Language Runtime (CLR): Common Language Runtime çalışma zamanı servislerinden sorumludur. .NET uygulamalarının değişik sistemler üzerinde çalışmasını sağlayan çalışma zamanı kütüphaneleri sağlar. Uygulamaları yönetmeye yardımcı olacak servisleri sağlayan tarafsız geliştirme ve uygulama ortamlarını içerir. Programlama dillerinin entegrasyonu (language integration), güvenlik (security), bellek (memory), süreç (process) ve thread (iş parçacığı) yönetimi çalışma zamanı servislerindendir. CLR'nin sağladığı ve sorumlu olduğu bazı servisler aşağıda listelenmektedir:  Code Management- Kod yönetimi  Type Safety -Tip güvenliğinin doğrulanması  Intermediate Language kodunun doğal makine koduna (native code)  dönüşümünün sağlanması  Managed Object -Yönetilebilir nesnelerin bellek yönetimi  Code Access Security- Kod erişim güvenliğinin uygulanması  Exception Management -İstisna yönetimi 2.5. INTEGRATED DEVELOPMENT ENVIRONMENT (IDE) IDE’de birçok görsel araç vardır. Bu araçlar görsel menüler tasarlamaya izin verir. Bir menünün tasarımı herhangi bir kod içermez ve tıklama işlemi ile gerçekleştirilebilir. Elbette herhangi bir dili kullanarak menülerin ardına istenilen kod ilave edilebilir. IDE’nin amacı program geliştiricilerin kod yazmadan önce görsel araçlar ile mümkün olan şeyleri yapmaya izin vermektir. IDE, uygulamalarınız için tasarlama, çalıştırma ve hata ayıklamayı sağlar. 2.6. DOSYA AÇ VE KAYDET DİYALOG KUTULARI Daha önce çalıştığınız bir projeyi açmak istiyorsanız File menüsündeki Open / Project butonu tıklanır. Butonu tıkladığınız anda karşınıza “belgelerim” klasöründe yer alan Visual Studio Projects klasöründeki projelere ait klasörler listelenir (Resim 2.4). Projelere ait klasörlerin başka bir dizinde açılmasını istiyorsanız, genel olarak bunun yolunu değiştirebilirsiniz.
  • 14. 13 Resim 2.4: Visual Basic .NET Open Project penceresinin görüntüsü Eğer yeni bir proje açmak istiyorsak File menüsündeki New Project butonu tıklanır. Yeni projelerin neler olabileceğini daha önce öğrenmiştiniz. Üzerinde çalıştığımız bir projeyi kaydetmek için ise File Menüsünde bulunan üç farklı kaydetme seçeneğini isteğinize göre kullanabilirsiniz (Resim 2.5). Resim 2.5: Visual Basic .NET kaydetme komutları Bunlardan birincisi Save Form1.vb’dir. Bu komut ile sadece aktif olan Windows Formunu kaydetmek için kullanılır. Bir diğer komut olan Save Form1.vb As ise, aktif olan formun ismini veya kayıt yerini değiştirerek kaydetmeye yarar. Üçüncü komut Save All’dır. Bu komut ise, projemiz dahilinde tüm dosyaların kaydedilmesini sağlar. 2.7. *.VBPROJ, *.VB VE *.SLN DOSYA UZANTILARI Visual Basic .NET, hazırlayacağınız programları projects (projeler) ve solution (çözümler) olmak üzere tümleşik bir ortamda oluşturur. Solution birden fazla projeyi içerdiğinden aynı anda daha fazla proje ile çalışabilmenizi sağlayacaktır. Visual Basic .NET’te hazırlayacağımız programlar değişik uzantılarda kaydedilir. Kaydedilen bu dosyaların hepsi program çalıştığında Solution Explorer penceresi altında yer alır (Resim 2.6).
  • 15. 14  .sln: Solution Explorer penceresinde görülen projeler ve bunlara ait dosyaların kısa yollarının kaydedildiği dosyanın uzantısıdır.  .vbproj: Üzerinde çalıştığınız projenin uzantısıdır. İçerisinde projenin yapısını oluşturan windows formları ve görsel sayfaları içerir.  .vb: Projemiz ile ilgili olan tasarımın yapıldığı ve kaynak kodlarının yazıldığı windows formlarının uzantısıdır. 2.8. FORM TASARIM, KOD DÜZENLEYİCİ, “SOLUTION EXPLORER”, ARAÇ ÇUBUĞU, ARAÇ KUTUSU VE ÖZELLİKLER PENCERESİ Visual Basic .NET ekranının genel görüntüsü aşağıdaki gibidir (Resim 2.7).
  • 16. 15 2.8.1. Solution Explorer Solution Explorer, projenizde kullandığınız tüm dosyaları düzenlemiş olarak gösteren ve birbirleri arasında kolay geçiş yapmanızı sağlayan arabirimdir. Üzerinde çalıştığınız projeye eklenen form ve nesnelerin neler olduğunu görmek istiyorsanız Solution Explorer penceresine bakabilirsiniz. Visual Studio.Net’ in sağ tarafında bulunur. Eğer ikinci bir proje Visual Studio.NET’ e dahil edilirse bu da Solution penceresinde görülür. Solution Explorer penceresini görünür hale getirmek isterseniz “Ctrl+Alt+L” kısayol tuşunu veya “View (Görünüm)” menüsünden Solution Explorerı tıklayarak seçebilirsiniz. Solution penceresi ile, kod penceresini, form tasarımını, Properties penceresini ve tüm dosyaları görüntüleyebilirsiniz. Solution Explorer penceresindeki ilk seçeneğe sağ tıklayıp Add/Existing Item komutunu verince ikinci bir proje ekleyebilirsiniz. Resim 2.9: Açık olan iki projenin görüntüsü
  • 17. 16 Çalışılan iki projeden hangisinin başlangıç projesi olacağına yine biz karar verebiliriz. Hangi projeyi aktif yapacaksanız onun üzerinde sağ tıklayıp Set Up StartUp Project komutunu vermeniz gerekmektedir. 2.8.2. Form Tasarım Penceresi Bu form programa ait kullanıcı arabiriminin oluşturulduğu yerdir. Yani tüm denetimler öncelikle bu form üzerine yerleştirilir ve yerleştirilen denetimler bu forma ait birer nesne olarak çalışır. Burada oluşturulan form görüntüsü, program çalıştığı zaman ekranda görülür. Resim 2.10: Form Tasarım penceresi 2.8.3. Kod Penceresi Programımızda bulunan denetim elemanlarına ait olay alt yordamlarının bulunduğu ve program kodlarının yani asıl programın yazıldığı bölümdür. Visual diller programcının kendi kodunu yazacağı bir editör sunar. Üzerinde çalışılan form veya kontrol elamanı çift tıklatıldığında kod penceresi karşımıza gelecektir (Resim 2.11). Visual Basic .NET’te program kodları yani programın çalışmasını sağlayan ve kullanıcı tarafından yazılmış ifadeler Code (Kod) penceresi içerisine yazılır. Bu pencereye geçmenin iki yolu vardır. *Solution Explorer penceresinde yer alan (View Code) ikonuna basarak geçilebilir.
  • 18. 17 *Form veya kod penceresi açılmak istenen form üzerindeki herhangi bir nesne üzerinde çift tıklayarak da geçilebilir. Bu bölüme yazılan kodlar nesneler için önceden tanımlanmış alt yordamlar şeklindedir. Bu alt yordamlar her nesne için değişiklik göstermektedir. Alt yordamlar program kod penceresi bölümünde Private Sub ile başlayıp End Sub ile bitmektedir. Kodlar Private deyimi ile End Sub deyimi arasına yazılmaktadır. Bir kodun çalışması ise nesneye ait tanımlı olayın gerçekleşmesi ile olur. 2.8.4. Menü ve Araç Çubukları Visual Basic .NET ortamını etkili bir şekilde kullanabilmek için gerekli olan komutlar menü çubuğunda yer alan menü seçenekleri altında bulunmaktadır. Visual Basic .NET ortamını etkili bir şekilde kullanabilmek için gerekli olan komutlar menü çubuğunda yer alan menü seçenekleri altında bulunmaktadır. Resim 2.12: Visual Studio menü çubuğu  File menüsü: Proje açmak, kapatmak, kaydetmek, yazdırmak gibi dosyalama işlemlerinin yapıldığı menüdür.  Edit menüsü: Yapılan işlemleri geri ve ileri almak, bilgileri kesmek, kopyalamak, yapıştırmak, aramak gibi işlemlerin yapıldığı menüdür.  View menüsü: Pencereleri ve araç çubuklarını gizleyip göstermek için kullanılan menüdür.  Debug menüsü: Programları adım adım çalıştırmak, hata ayıklamak vb. işlemler için kullanabileceğiniz menüdür.  Team Menüsü: Team Foundation Server bağlantısı için kullanılır. (Yazılım firmaları bir çok yazılımcının ortak bir server üzerindeki proje üzerinde çalışmasını bu teknoloji ile sağlar).  SQL Menüsü: SQL sorguları oluşturabileceğimiz bir editör açar.  Tools menüsü: Projede yeni bir fonksiyon tanımlamak, üzerinde çalışılan pencerelerin özelliklerini değiştirmek için kullanabileceğiniz menüdür.  Test Menüsü: Projelerin test işlemleri için kullanılan menüdür.  Architecture Menüsü: Kod mimarisinin şekil ile (diyagram şeklinde, ilgili kod mimari tipine göre) oluşturulması için kullanılır.  Analyze Menüsü: Kod performansları ve analizi için kullanılır.  Window menüsü: Pencerelerin ayarlarını değiştirmek ve istenilen pencereye geçiş yapmak için kullanılan menüdür.  Help menüsü: Yardım seçeneklerine, .NET ile ilgili son bilgilere ulaşabileceğiniz menüdür. Menüler altında bulunan komutlara kolayca erişebilmenizi araç çubukları sağlar. Çalışma sayfanızda bulunmayan herhangi bir araç çubuğunu sırasıyla View Menüsü/Toolbars üzerine gelerek ekleyebilirsiniz. Araç çubukları üzerinde bütün komutlar bulunmamakla birlikte istenilirse herhangi bir komut düğmesini ekleyebilirsiniz.
  • 19. 18 2.8.5. Toolbox (Araç Kutusu) Penceresi Visual Basic.Net’te kullanacağınız bir diğer pencerede ToolBox penceresidir. Visual Basic .Net penceresinin sol tarafında bulunur ve gizlenmiştir. Fare ile üzerine gelindiğinde bu pencere açılır. Projeleriniz formlar ve bu formlar üzerinde bulunan nesne dediğimiz elemanlardan oluşmaktadır. Bu nesnelere kontrol elamanı veya denetim elemanı denmekte olup araç kutusu üzerinde bulunmaktadır (Resim 2.14). Projenize istediğiniz herhangi bir kontrol elamanını, üzerine çift tıklayarak ya da sürükle bırak ile ekleyebilirsiniz. 2.8.6. Properties (Özellikler) Penceresi Bu kısım programlarınız için bir, oldukça önemli bir anlam ifade etmektedir. Bilindiği üzere Visual Basic .NET dilinde program yaptığınız zaman programınıza ait form üzerinde bulunan bütün denetim elemanlarının tamamı (Label, Text, Command button, Liste kutusu vb.) Visual Basic. NET derleyicisi
  • 20. 19 tarafından birer nesne olarak algılanır. Form üzerine yerleştirmiş olduğumuz nesnelerin ve formun özellikleri bu pencerede listelenir. Propeties genel bir penceredir (Resim 2.15). Properties penceresi eğer ekranda yoksa F4 fonksiyon tuşu ya da View menüsünden Properties Window tıklanarak ekrana yerleştirilir. 2.9. “TOOL *OPTIONS* “ PENCERESİ Bu seçenekle üzerinde çalıştığımız pencerelerin birçok özelliğini değiştirebiliriz. Bu seçeneği seçtiğimizde aşağıdaki pencere görüntülenir (Resim 2.16).
  • 21. 20 Resim 2.16: Visual Basic .NET Tools/Options penceresi Bu pencerede bulunan bazı seçenekler ve görevleri aşağıda açıklanmıştır. Environment: • General: *Tabbed documents: Açık olan sayfaları çoklu sayfa biçiminde gösterir. Resim 2.17: Visual Basic .NET sayfa görüntüleri *Multiple documents: Sayfaların her biri ayrı bir pencerede açılır (Resim2.18). Resim 2.18: Visual Basic .NET sayfa görüntüleri *Recent Files: File menüsünde Recent Files/Projects komutu altındaki son kullanılan dosya/projelerden kaç tanesinin sıralanacağını belirtir. *Show Status Bar: Durum çubuğunun ekranda görünüp görünmemesini sağlar. • Add-in/MAcros Security: Makroların çalışmasına, bileşenlerin bir URL adresinden yüklenmesine izin verilip verilmeyeceğini ayarlar.
  • 22. 21 • AutoRecover: Visual Basic .NET dosyalar üzerinde çalışırken belirtilen süre dolunca otomatik olarak işlemlerinizi kaydetmeye ve otomatik olarak kaydedilen işlemleri belirtilen süre zarfında hafızada tutmayla ilgili işlemlerin ayarlanmasını sağlar. • Documents: Sayfanın doğru yüklenip yüklenmediğinin kontrolünün yapılması ile ilgili ayarların yapıldığı yerdir. • Find and Replace: Bilgi ve uyarı mesajlarının gösterilmesi ile ilgili ayarların yapıldığı yerdir. • Fonts and Colors: Kod penceresinde yazılan ifadelerin renkleri ve font büyüklükleri ayarlanır. Help: Hazırladığınız dosyaların nereye kaydedileceğinin, Visual Basic .NET açıldığında başlangıç sayfasının hangi sayfa olacağının ayarlandığı yerdir. Ayrıca Visual Basic .NET tarafından kullanılan dili gösterir. *HTML Designer: Hazırlayacağımız HTML sayfalarının açılış sayfasının görsel sayfa mı kod sayfası mı olacağını ayarlar. *Windows Forms Designer: Form üzerindeki noktaların gösterilip gösterilmeyeceğinin ayarlanabildiği yerdir. paylaşınız. 3. NESNELER 3.1. ARAÇ KUTUSU, ÖZELLİKLER PENCERESİNİN AYARLARI 3.1.1. Araç Kutusu Penceresi Daha öncede belirtildiği gibi projeleriniz formlar ve bu formlar üzerinde bulunan nesne dediğimiz kontrollerden oluşmaktadır. Araç kutusu üzerinde bulunan bu kontroller referanslar altında bulunur. Bu kontroller araç kutusu üzerinde kategorize edilip listelenmektedir. Sırasıyla XML Schema, Dialog Editor, All Windows Forms şeklinde sıralanmaktadır.
  • 23. 22 Kontrolleri, form üzerine yerleştirmenizin 3 yolu vardır :  Toolbox'taki kontrolü tıklayınız. Fare, form üzerine getirilince + işaretibelirecektir. Bu + işareti kontrolün sol üst köşesini belirtmektedir. Farenin sol tuşuna basılı tutarak fareyi sağ alt köşeye doğru hareket ettiriniz. Fareyi bırakınca, bir dikdörtgen oluşacaktır.  Toolbox'taki kontrolü çift tıklayınız. Kontrol varsayılan büyüklükte formun sol üst köşesinde oluşur.  Toolbox'taki kontrolü tıklayınız. Fare form üzerine getirilince + işareti belirecektir. Bu + işareti kontrolün sol üst köşesini belirtmektedir. Tekrar farenin sol tuşuna tıklanırsa, varsayılan büyüklükteki kontrol form üzerinde oluşacaktır. Kontrolleri toplu olarak bir yerden başka bir yere taşımak, benzer özelliklerini toplu olarak değiştirmek (mesela rengini, fontunu gibi) veya hizalamak (sola, sağa vb. gibi) için form tasarımı sırasında bazen birden fazla kontrolle aynı anda çalışmanız gerekebilir.
  • 24. 23  Birden fazla kontrolü seçmek Birkaç yöntem vardır. Eğer kontroller birbirine yakınsa, kontrolleri fare ile çerçeve içine alıp seçebilirsiniz. Bir başka yöntem de Ctrl veya Shift tuşuna basılı tutarak seçmek istediğiniz kontrollerin tıklanmasıdır. Eğer kontrollerin hepsini seçmek istiyorsanız, kolayca Ctrl + A tuş kombinasyonunu kullanılabilirsiniz.  Birden fazla kontrolün seçimini iptal etmek Çoklu kontrol seçimini bitirmek için, formun boş bir yerine (kontrol olmayan) tıklamanız yeterli olacaktır.  Kontrolleri grup olarak hareket ettirmek Çoklu kontrol seçimi yaptıktan sonra, bunları grup olarak hareket ettirmek için, fareyi seçilmiş kontrollerden birinin üzerinde bastırarak, kontrolleri sürükleyebilirsiniz.  Çoklu kontrolün özelliklerini değiştirmek Çoklu kontrol seçimi yapıldıktan sonra, sağ taraftaki Properties penceresinden istenilen özellikleri değiştirilebilirsiniz. Örneğin BackColor özelliği değiştirilirse, bu tüm gruptaki kontrollere uygulanır. Bazı özellikler boş gözükecektir. Bu özellikler grup olarak değiştirilemeyecek anlamına gelir. Örneğin Name ve Text özellikleri.  Kontrollerin yeniden boyutlandırılması ve hizalanması Grup kontrol seçimi yapıldıktan sonra yeniden boyutlandırılması ve hizalanması,Layout araç çubuğu ile çok kolaydır. Gruptaki kontrolleri bu araç çubuğundaki ikonlar yardımıyla, aynı genişlik (width) ve yükseklik (height)'te yapabilirsiniz. Kontrolleri yukarı, aşağı, sola veya sağa hizalayabilirsiniz. 3.1.1.1. Toolbox’ta Bulunan Bazı Kontrol Elemanları Toolbox’ta (Araç Kutusu) bulunan ve projelerinizi hazırlarken kullanacağınız kontrol elemanlarından bazılarını tanıyalım.  Button kontrolü Button kontrolü, bir işlemin başlatılabilmesi için kullanılan kontroldür (Resim 3.2). Örneğin “Tamam” veya “İptal” vb. Resim 3.2: Button kontrolünün formdaki görüntüsü
  • 25. 24  TextBox kontrolü TextBox kontrolü, form üzerinde tasarım sırasında, programın çalışma anında girilen veya kod içinde atanan bilginin gösterilmesi için kullanılır. Gösterilen bilgi değiştirilebilir. Resim 3.3: TextBox kontrolünün formdaki görüntüsü  Label (Etiket) kontrolü Label kontrolü, form üzerinde bilginin gösterilmesi için kullanılır (Resim 3.4). Resim 3.4: Label kontrolünün formdaki görüntüsü  CheckBox Windows’ ta çok kullanılan kontrollerden biri de kullanıcının belirli özellikleri aktif veya pasif hale getirmek için kullanıldığı eleman CheckBox’ lardır. Anlaşırlığı ve kullanımı kolay olması sebebiyle kolay kullanılabilir arabirimler oluşturmak için oldukça faydalı bir kontroldür (Resim 3.5). Resim 3.5: CheckBox kontrolünün formdaki görüntüsü  Timer (Zamanlayıcı) kontrolü Programda belirli bir süre aralıklar ile aktif hale gelip belirli işleri yapabilmek için kullanılan bir kontroldür. Bu kontrol, tasarım zamanda ekranda görülmesine rağmen çalışma esnasında görülmez.
  • 26. 25  Horizontal & Vectiral ScrollBar (Kaydırma Çubuğu) Biri yatay diğeri dikey olmak üzere her iki kaydırma çubuğu da aynı özelliklere sahiptir ve kullanım amacına göre amaçları da değişir. Örneğin bir veri tabanında kayıtlar arasında ileri geri gitmek için kullanılabilir (Resim 3.6). Resim 3.6: Horizontal & Vectiral ScrollBar (Kaydırma Çubuğu) kontrollerinin formdaki Görüntüsü  RadioButton (Seçenek Düğmesi) kontrolü RadioButton kontrolü ChechkBox kontrolünden farklı olarak birkaç seçenekten sadece birini seçme imkânı veren bir kontroldür. Bu kontrolün tek başına kullanılması anlamsızdır. Birkaç seçenekten birini seçme imkânı veren bir kontrol olduğu için en az iki tane birlikte kullanılmalıdır. Gruptaki RadioButton düğmelerinden biri seçildiğinde diğeri kendiliğinden seçilmiş özelliğini kaldırır. Yani aynı anda bir grupta iki tane işaretli düğme bulunmaz. Yalnızca bir seçenek seçebiliriz ve bilgisayarımız da o seçeneğe göre hareket eder (Resim 3.7). Resim 3.7: RadioButton (Seçenek Düğmesi) kontrolünün formdaki görüntüsü  GroupBox (Grup Kutusu ) kontrolü Bu kontrol tek başına değil, diğer kontrolleri gruplayabilmeniz için kullanılır. Kontrolleri bu kontrolle gruplamanızın birçok avantajı vardır. Bu çerçeveler içine konan kontroller, çerçeveye bağımlıdır ve konumları bu çerçeve dışına çıkamaz. Özellikle birkaç kontrolü birden görünür veya görünmez yapmak için hepsinin Visible özelliğini değiştirmek yerine çerçevenin Visible özelliğini değiştirerek aynı işlemi bir adımda yapmış oluruz. Aynı şekilde taşınma özelliğinde de çerçeve taşınarak işlem tek adımda gerçekleştirilebilir. Yani kullandığımız GroupBox kontrolünü form içerisindeki başka bir form gibi düşünebiliriz.
  • 27. 26 Resim 3.8: GroupBox (Grup Kutusu ) kontrolünün formdaki görüntüsü GroupBox’ larla gruplanan kontrollerin koordinatları artık forma göre değil, grup kontrolünün sol üst köşesine göre belirlenir. Form üzerine yerleştirilmiş bir kontrolü taşıyarak bir GroupBox kontrolü üzerine getirmekle o kontrol gruplanmış olmaz. GroupBox kontrolü içerisine bir kontrol yerleştirirken önce GroupBox kutusunu seçiniz. Eğer Form üzerinde bulunan kontrolleri GroupBox kontrolü içerisine almak istiyorsanız o zaman Form üzerindeki kontrolleri kesiniz (Cut) ve Frame kontrolünü seçtikten sonra buraya yapıştırınız (Paste). Ayrıca Frame, kontrolleri sadece bazı şartlarda gösterilmesi gereken kontrolleri de bir arada tutarak bunların kolayca gizlenip gösterilmesini sağlar.  PictureBox (Resim Kutusu) Kontrolü Bu kontrol elemanı Bitmap, Icon, Metafile, Jpeg ve Gif gibi resimleri görüntülemek için kullanılır. Ayrıca metotlar kullanılarak PictureBox içine çizimlerde yapılabilmektedir. Bu kontrolün bir diğer özelliği ise aynen GroupBox kontrolünde olduğu gibi diğer kontrolleri gruplandırmasıdır. Kod penceresine aşağıdaki gibi bir komut satırı yazabilirsiniz. Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal PictureBox1.Picture = LoadPicture("E:ResimlerTanyildizi.Bmp") End Sub  Form Windows arabiriminin en temel kontrolü formlardır. Windows’ta hemen her program formlar üzerinde çalışır. Zaten Windows kelimesinin Türkçe anlamı Pencereler de bu formlardır. Boyutlandırılabilir özelliği sayesinde aynı ekranda tek bir program olmak zorunda değildir. Formun Properties kısmını formun alt programlarında yazarken Formun ismini kullanmak zorunda değilsiniz, direk Properties ismini vermeniz yeterlidir. Yani Form1.Name ile sadece Name, Form1’ in alt programlarında aynı etkiye sahiptir. Programınızda birden fazla form bulunacaksa ilk olarak ana form çalışacaktır. Diğer formları programınızda kullanacağınız Form2.Show gibi bir yöntemle aktif hale getirmelisiniz. Bir formdan başka bir formun bir özelliğine ulaşabilmek için kontrol adından önce formun adı da verilmelidir. Örneğin Form2 üzerindeki Label1’e ulaşmak için Form2.LabeI1.Özellik şeklinde kullanılır. Programınızda birden fazla formunuz varsa ilk oluşturduğunuz form ana formdur ve
  • 28. 27 program çalışmaya o form ile başlar. Eğer başlangıçta çalışacak formu değiştirmek istiyorsanız; Solution penceresindeki projemize sağ tıklayıp Properties komutu seçilir. Daha sonra Startup Form listesinden istediğiniz formu seçebilirsiniz.  ListBox (Listeleme Kutusu) kontrolü Visual Basic’ in sağladığı dizilerinizi gösterebileceğiniz kontrollerdendir. Elemanları listelemek, sıralamak amacı ile kullanılan bir kontroldür. Listeye eleman eklemek için Properties penceresindeki Items özelliği kullanılabilir. Resim 3.9: ListBox kontrolünün formdaki görüntüsü  ComboBox (Açılan Liste) kontrolü Genellikle değerleri daha önceden belli olan elemanların seçimi için kullanılır. Liste kutusuna benzer ancak listedeki elemanlardan sadece seçileni ekranda görüntülenir. Aşağı doğru açılabilen bir liste kontrolüdür. ComboBox kontrolüne eleman ekleme ve silme işlemi ListBox’ ta olduğu gibidir. Resim 3.10: ComboBox (Açılan Liste) kontrolünün formdaki görüntüsü 3.1.1.2. Araç Kutusu Penceresinin Ayarları Çalıştığınız projeye ToolBox’ ta bulunmayan bir referans eklemek isterseniz Solution Explorer penceresinde References seçeneğine sağ tıklayarak Add Reference komutunu verebilirsiniz (Resim 3.11).
  • 29. 28 Resim 3.11: Add Reference komutunun görüntüsü Resim 3.12: Add Reference penceresinin görüntüsü Projede kullanmak istediğiniz bileşeni seçip OK düğmesini tıklamanız yeterli olacaktır. Bu seçtiğiniz bileşende Solution Explorer penceresinin References bölümüne aktarılır. Eğer projenizde kullanmak istediğiniz bir kontrolör ToolBox’ta mevcut değilse Tools menüsünden Choose Toolbox Items komutunu verebilirsiniz. Resim 3.13: Tools/Choose Toolbox Items komutunun görüntüsü Bu komutu verdikten sonra Choose Toolbox Items diyalog kutusu ekran gelir (Resim3.14).
  • 30. 29 Resim 3.14: Choose Toolbox Items penceresinin görüntüsü Bu diyalog kutusunda Toolbox menüsündeki mevcut kontroller işaretli mevcut olmayan kontroller ise işaretsiz olacaktır. 3.1.2. Özellikler Penceresinin Ayarları Yeni bir proje oluşturduğumuzda Visual Basic.NET Form1 adında bir ana formu otomatik olarak oluşturur ve bu forma ait özellikler Properties (Özellikler) adlı bir pencerede bulunur (Resim 3.15). Properties penceresinde 4 tane ikon bulunur.
  • 31. 30  : Özellikleri gruplamak için kullanılır.  : Özelliklerin alfabetik sıraya göre listelenmesi için kullanılır.  : Özelliklerin listelenmesi için kullanılır.  : Properties (Özellikler) penceresinde özellikleri listelenen nesne içintanımlı olan olayları listelemek için kullanılır. 3.2. FORM TASARIMINDAKİ NESNE BOYUTLANDIRMA TUTAMACI Visual Basic .NET’te kullanılan Windows Formların boyutlarını iki değişik yolla ayarlayabilirsiniz. Birincisi; forma bir kez tıkladıktan sonra etrafında beliren boyutlandırma tutamaçlarından tutarak ikincisi ise; Properties (Özellikler) penceresindeki Size (Genişlik) seçeneğinden istediğiniz boyutu yazarak formun ebatlarını ayarlayabilirsiniz (Resim 3.16). Resim 3.16: Windows formunun değişik ebatlardaki görünümü Visual Basic .NET’te formun boyutlarının yanı sıra, forma yerleştirilen kontrol elemanlarının da boyutlarını ayarlayabilirsiniz. Oluşturulmuş bir kontrolü taşıyabilmeniz için, fare kontrolün ortasındayken dörtlü ok işareti çıktığında, farenin sol tuşuna basılı tutarak hareket ettirmeniz gerekmektedir. Kontrol istediğiniz yere gelince fareyi bırakırsınız. Forma yerleştirilecek olan kontrol elemanlarını grid çizgilerine gerek duymadan belli bir düzende yerleştirilebilirsiniz (Resim 3.17, 3.18). Resim 3.17: Button kontrollerinin forma yerleştirilmesine ait görüntü
  • 32. 31 Resim 3.18: Değişik kontrollerin forma yerleştirilmesine ait görüntü 3.3. YERLEŞİM ARAÇ ÇUBUĞU Yerleşim Araç Çubuğu (Layout), form üzerine yerleştirilen kontrol elemanlarının belli bir düzende yerleştirilmesini sağlar. Eğer, Yerleşim Araç Çubuğu (Layout) ekranda görünmüyorsa View menüsünden Toolbars üzerine gelip ve oradan Layout’u işaretleyebilirsiniz. Resim 3.19: Visual Basic .NET Layout (Yerleşim) araç çubuğunun görünümü Resim 3.20: Visual Basic .NET’te form görünümü Form üzerine rastgele yerleştirilmiş olan kontrol elemanlarını Yerleşim Araç Çubuğu (Layout) ile düzenlerken öncelikle bir elemanı referans olarak almanız gerekmektedir. Daha sonra klavyeden Ctrl tuşuna basılı tutarak diğer elemanları seçer ve Yerleşim Araç Çubuğu üzerindeki komutlardan istediğinizi uygularsınız. Alings Left: Tüm kontrol elemanlarını form üzerinde sola dayalı olarak yerleştirir (Resim 3.21).
  • 33. 32 Resim 3.21: Align Left komutu ile sola dayalı yerleştirilen kontrol elemanlarının görünümü Align Right: Tüm kontrol elemanlarını form üzerinde sağa dayalı olarakyerleştirir. Align Tops: Referans alınan kontrol elemanının sol üst köşesine hizalı olarak elemanları yerleştirir. Align Bottoms: Referans alınan kontrol elemanının sağ alt köşesine hizalı olarak elemanları yerleştirir. Align Middles: Referans alınan kontrol elemanının orta noktasına hizalı olarak elemanları yerleştirir (Resim 3.23). Resim 3.23: Align Middles komutu ile seçili kontrol elemanına ortalı yerleştirilen kontrol elemanlarının görünümü Alings Center: Tüm kontrol elemanlarını form üzerinde ortalayarak yerleştirir (Resim 3.22). Resim 3.22: Align Center komutu ile forma ortalı yerleştirilen kontrol elemanlarınınGörünümü Make Same Width: Referans alınan kontrol elemanına göre diğer elemanların genişliğini ayarlar. Make Same Height: Referans alınan kontrol elemanına göre diğer elemanların yüksekliğini ayarlar. Make Same Size: Referans alınan kontrol elemanına göre diğer elemanların hem genişlik hem de yüksekliğini ayarlar (Resim 3.24).
  • 34. 33 Resim 3.24: Make Same Size komutu uygulanmasına ait görünüm Make Horizontal Spacing Equal: Kontrol elemanlarının birbirleri ile olan sağ ve sol boşluklarını eşit bir şekilde ayarlar. Incrase Horizontal Spacing: Kontrol elemanlarının birbirleri ile olan sağ ve sol boşluklarını eşit bir şekilde artırır. Decrase Horizontal Spacing: Kontrol elemanlarının birbirleri ile olan sağ ve sol boşluklarını eşit bir şekilde azaltır. Remove Horizontal Spacing: Kontrol elemanlarının birbirleri ile olan sağ ve sol boşluklarını kaldırır. Make Vertical Spacing Equal: Kontrol elemanlarının birbirleri ile olan alt ve üst boşluklarını eşit bir şekilde ayarlar. Incrase Vertical Spacing: Kontrol elemanlarının birbirleri ile olan alt ve üst boşluklarını eşit bir şekilde artırır. Decrase Vertical Spacing: Kontrol elemanlarının birbirleri ile olan alt ve üst boşluklarını eşit bir şekilde azaltır. Remove Vertical Spacing: Kontrol elemanlarının birbirleri ile olan alt ve üst boşluklarını kaldırır. Center Horizontally: Kontrol elemanlarını form üzerinde sağ ve sol boşlukları eşit olacak şekilde ayarlar. Center Vertically: Kontrol elemanlarını form üzerinde alt ve üst boşlukları eşit olacak şekilde ayarlar. Bring to Front: Seçili olan nesneyi en öne getirir. Send to Back: Seçili olan nesneyi en arkaya gönderir. Tab Order: Kontrol elemanlarının tab numaralarını değiştirmeye yarar.
  • 35. 34 3.4. FORM VE NESNELERİN ORTAK ÖZELLİKLERİ (NAME, TEXT) Resim 3.25: Form ve kontrol elemanlarınıngörünümü Form üzerindeki değişiklikleri Properties penceresinden gerçekleştireceğiz. Aşağıdaki işlemleri sırası ile uygulayalım.  Öncelikle Label1’i işaretleyip Properties kısmından Text özelliğini Adı olarak değiştirelim. Aynı işlemi Label2 için Soyadı, Label3 için de Okulu olarak uygulayalım.  Button1 denetimini işaretleyiniz ve Text özelliğini seçtikten sonra Button1 yazan kısma Yeni yazınız. Sonra aynı, işlemleri Button2 için Vazgeç, Button3 için de Çıkış olarak değiştiriniz.  Form’ u işaretleyip Form’ un Text özelliğini de “İlk Visual Basic Denemesi” olarak değiştiriniz. Şimdi bu aşamada elemanların rengi, üzerindeki yazıların renk, kalınlık, büyüklük ayarlamaları isimleri vb. özellikleri üzerinde oynama yapabilirsiniz. Şimdi çoğu eleman için aynı olan özelliklerden birkaçını açıklayalım.  Name: Seçili kontrol elemanınızın program içerisindeki ismini belirler. (Name özelliğine göre elemana ait program kodları yazılmalıdır.)  Text: Seçili kontrol elemanınıza program çalışırken kullanılacak ismi vermek için kullanılır.  BorderStyle: Seçili elemanın form üzerinde 3 boyutlu görünümü sağlar.  BackColor: Seçili elemanın zemin rengi seçimini sağlar.  Enabled: Nesnenin aktif veya pasif olmasını sağlar.Yani üzerinde işlem yapılıp yapılmayacağını kontrol eder. False değeri için nesne üzerinde işlem yapılmaz. True değeri için nesneyi normal olarak çalıştırabilirsiniz.  Font: Seçili nesne için yazı tipi seçimine olanak sağlar.  Size: Nesnenin boyutu ile alakalı değişiklik yapmamızı sağlar.  Location: Nesnelerin koordinatını verir.  Visible: Nesnenin görülüp görülmeme özelliğini ayarlar. False değeri verildiği zaman nesne görülmez, True değeri verildiği zaman görülür.
  • 36. 35 3.5. FORM ÖZELLİKLERİ AccepButton-Enter: Bu özelliğin aktif olabilmesi için öncelikle forma bir Button eklenmesi gerekmektedir. Resim 3.26: Form ve Accept Button komutunun görünümü Button ekleyip formu seçince AcceptButton özelliğinde None ve seçili olan Button1 diye iki seçenek belirecektir. Eğer, Button1 seçeneğini aktif yaparsanız programınızı çalıştırdığınızda Button1’i Mouse ile tıklamak yerine Enter tuşu ile de kullanabilirsiniz. Örnek olması açısından basit bir örnek verecek olursak, formunuza bir Button bir de TextBox ekleyiniz ve formun AcceptButton seçeneğini Button olarak ayarlayınız. Daha sonra Button’nun kod sayfasına geçip aşağıdaki program satırını yazınız. Private Sub Button1_Click_1 TextBox1.Text = "Muharrem" End Sub Şimdi programınızı çalıştırınız ve Button’a tıklamak yerine Enter tuşuna basınız. Resim 3.27: Accept Button komutunun uygulanmasına ait görünüm  CancelButton-ESC: Bu özellikte tıpkı AcceptButton gibidir. Tek farkı Button’a ESC tuşunu atamasıdır.  ControlBox : Formların Properties (Özellikler) penceresindeki ControlBox özellikleri “True” olarak belirlenmiştir. Ancak istenirse bu özellik “False” olarak değiştirilebilir. Eğer bu özelliği False yaparsanız formun sağ üst köşesinde yer alan simge durumuna küçültme, önceki boyut ve kapat düğmeleri görünmeyecektir (Resim 3.28).
  • 37. 36 Resim 3.28: ControlBox’ın uygulanmasına ait görünüm FormBorderStyle: Formunuzun ekran üzerindeki görünüşünü değiştirmek için Properties (Özellikler) penceresindeki FormBorderStyle kullanılır (Resim 3.29). Resim 3.29: FromBorderStyle’in seçeneklerine ait görünüm • None : Çerçeve yok (Resim 3.30) Resim 3.30: FromBorderStyle de None tercihinin uygulanmasına ait görünüm • FixedSingle: Tek çizgili çerçeve • Fixed3D: Üç boyutlu çerçeve • FixedDialog: Formun sol üst köşesindeki diyalog kutusunu görünmez yapar Resim 3.31). Resim 3.31: FromBorderStyle de FixedDialog tercihinin uygulanmasına ait görünüm • FixedToolWindow: Formun sağ üst köşesindeki simge durumuna küçültme ve önceki boyut düğmelerini kaldırır (Resim 3.32). Resim 3.32: FromBorderStyle de FixedToolWindow tercihinin uygulanmasına ait görünüm StartPosition: Formların bir diğer özelliği olan “StartPosition”, programı çalıştırdığınız anda formun ekranın neresinde konumlanacağını belirlemenizi sağlar (Resim 3.33).
  • 38. 37 Resim 3.33: Start Position seçeneklerine ait görünüm • Manual: Formu ekranın sol üst köşesine konumlandırır. • CenterScreen: Formu ekranın tam ortasına konumlandırır. • WindowsDefaultBounds: Formun boyutlarını büyültür. BackColor: Formun zemin rengini değiştirmeye yarar. Bu işlemi yaparken açılan kutuya tıklayıp seçeneklerden herhangi birini seçebileceğiniz gibi, BackColor yazısının yanında bulunan renkli kutuya da tıklayarak istediğiniz rengi ayarlayabilirsiniz (Resim 3.34). Resim 3.34: BackColor seçeneği ve uygulanmasına ait görünüm Enabled: Formun aktif veya pasif olmasını sağlar. False yani pasif olması durumunda kullanıcı formu görür, ancak üzerinde işlem yapamaz. Font: Form üzerinde bulunan nesneler için kullanılan yazının fontunu belirler. Size: Formun boyunu ve enini belirler. Bu iki değer değiştirilerek formun boyutları ayarlanabilir. ForeColor: Form üzerinde bulunan nesneler için kullanılan yazının rengini belirler. RightToLeft: Form başlığının ve nesneler içindeki yazıların sağda ya da solda görünmesini sağlar. RightToLeftLayout: Eğer form RightToLeft seçeneği “Yes” seçilip form başlığı sola alınmışsa, “True” aktif olur ve form başlığı ile formun kontrol düğmeleri yer değiştirir. 3.6. NESNELERİN ÖZELLİKLERİ Visual Basic .NET’te nesnelere ait çeşitli özellikler vardır. Bu nesnelerden biri de TextBox’tır. Bilgi girişleri TextBox nesneleri aracılığı ile yapılmaktadır. ToolBox penceresinde TextBox kontrolünü formunuza ekleyince Properties (Özellikler) penceresinde aşağıdaki özellikler bulunur.
  • 39. 38 Resim 3.34: Form ve Textbox kontrolüne ait görünüm MultiLine: True ise text kutusuna birden fazla satır girilebileceğini gösterir. False ise tek satır girilebilir. Name: Kontrol için istenilen isim yazılır. Name (İsmi) maksimum 40 karakter uzunluğunda olabilir. Name mutlaka bir harf ile başlamalıdır. Diğer karakterler harf, rakam veya _ (alt çizgi) olabilir. TextAlign: Nesne içerisindeki yazının sola, sağa veya ortaya yazılmasını sağlar. ScollBars: Multiline özelliğinin True olması durumunda etkili olan bu özellik Text kutusu içerisinde bu özelliğin aşağı yukarı, sola sağa kaydırmak için kaydırma çubuklarının eklenmesini sağlar. None ise yok, Horizontal ise yatay, Vertical ise dikey ve Both ise hem yatay hem de dikey kaydırma çubukları eklenir. MaxLenght: Text kutusuna girilebilecek maksimum karakter sayısını belirler. Buna 0 verilirse üst sınır 32 karakter olur. PaswordChar: Text kutusuna şifre girmek için kullanılır. Yani kullanıcı girdiği karakterlerin ekranda görülmesini istemiyorsa bu özellikten yararlanır. PasswordChar özelliğine karakter girerek kullanıcının girdiği bütün karakterlerin bu karakterle görülmesini sağlar. Locked: Text kutusunun bu özelliği True yapılırsa Text üzerinde hiçbir değişiklik yapılamaz. BorderStyle: Nesnenin ekran üzerindeki sınırlarının çerçeve şeklini belirler. • None : Çerçeve yok • FixedSingle: Tek çizgili çerçeve • Fixed3D: Üç boyutlu çerçeve Text : Formun adını değiştirmeye yarar. Enabled: Nesnenin aktif veya pasif olmasını sağlar. False yani pasif olmasıdurumunda kullanıcı nesneyi görür ancak üzerinde işlem yapamaz. Text kutusunun Enabled özelliği False ise kullanıcı giriş yapamaz. Font: Nesne için kullanılan yazının fontunu belirler. ForeColor: Yazının rengini belirler. Yukarıda anlatılan renk bileşimleri burada da geçerlidir. BackColor: Nesnelerin zemin rengini değiştirmeye yarar. Bu işlemi yaparken açılan kutuya tıklayıp seçeneklerden herhangi birini seçebileceğiniz gibi,
  • 40. 39 BackColor yazısının yanında bulunan renkli kutuya da tıklayarak istediğiniz rengi ayarlayabilirsiniz. Size: Nesnenin boyunu ve enini belirler. Bu iki değer değiştirilerek kontrolün boyutları ayarlanabilir. HelpButton: Kontrolle ilgili yardım dosyasındaki konu numarası bu özellik ile belirlenir. Icon: Mouse göstergesinin nesne üzerine geldiğinde alacağı şekli belirler. TabStop: True ise kullanıcı bu nesneye Tab tuşuyla ulaşabilir. False ise Tab tuşuyla bu kontrol üzerine gelinmez, Mouse ile, yazılım yoluyla veya varsa kısayol tuşu ile gelebilir. Yoğun bilgi girişi gerektiren formlarda sık kullanılmayacak kontrollerin TabStop özelliklerini False yaparsanız kullanıcının bilgi girişi daha kolay olacaktır. Çünkü genelde yoğun bilgi girişi olan yerlerde Tab tuşu sık kullanılır. Gereksiz yere ekrandaki bütün kontrolleri dolaşmamak için bazılarının bu özelliğini False yapmak gerekir. TabIndex: Form üzerinde kullanıcının ulaşabileceği her nesnenin bir Tablndex’i vardır. Tablndex kullanıcının Tab tuşuyla kontroller arasında dolaşırken bu kontrollerin sıralamasını belirler. Örneğin Tab indexi 5 olan bir nesnede iken Tab tuşuna basılırsa kontrol Tab indexi 6 olan nesneye geçer. Normalde her yerleştirilen kontrole otomatik olarak bir Tab sırası verilir. Form tasarımınız bittikten sonra programı çalıştırıp Tab tuşuyla bütün kontrolleri gezerek Tab tuşunun sırayla gidip gitmediğini kontrol etmeniz gerekir. Çünkü araya yerleştirdiğiniz kontrollerin Tab sıraları bozulacaktır. 1. HATA AYIKLAMA Böcek (bug) kelimesi, programcıların yaptıkları programlarda önceden tahminedemedikleri "çalışma zamanında", yani program çalışırken ortaya çıkan hataları belirtmek için kullanılır. Başka bir deyişle "böcek" kelimesi, yazılımların çalışırken, çoğunlukla beklemedikleri veya kontrol etmedikleri bir girdi karşısında ne yapacaklarını bilememeleri veya kendilerine işletim sistemi tarafından yasaklanmış olan bazı şeyler yapmaya kalkmaları yüzünden "göçmesi" ile sonuçlanan "yazılım hataları" için kullanılır.Bilgisayarların henüz bir oda büyüklüğünde olduğu zamanlarda, bir böceğin bilgisayarın içine girerek kısa devreye sebep olması, böylelikle o anda çalışmakta olan "yazılım"ın görevini yerine getirememesine yol açması sebebiyle çalışma zamanındaki yazılım hatalarına böcek denir. Çalışma zamanında oluşan bu böcekleri ayıklama işlemine de debug (böcek ayıklama) denir. Bu etkinlikte debug menüsü ile yapılan işlemler anlatılacaktır. Debug menüsündeki komutlara kısayoldan ulaşmak için debug araç çubuğu kullanılabilir. Bu araç çubuğunu açmak için view menüsünden toolbars seçeneğinden debug araç çubuğu aktif edilmelidir. Menü veya araç çubuklarının bulunduğu bölüme Mouse’un sağ tuşu ile tıklanıp gelen araç çubuklarından debug seçilerek de araç çubuğu Visual Basic.Net programına eklenmiş olur. Araç çubuğu üzerindeki seçeneklerin birçoğu modül içerisinde bulunan öğrenme faaliyeti -2 de anlatılacaktır.
  • 41. 40 Resim 1: Debug araç çubuğu 4.1. “BREAKPOINT” YAPMA Yazılan bir programın doğru çalışıp çalışmadığını test etmek amacıyla parça parça incelenmesi gerekebilir. Bu işlem için breakpoint (kırılma noktası) oluşturulur. Böylece uzun bir programı parçalara bölerek hataya sebep olan komut satırları rahat bir şekilde bulunabilir. Visual Studio’da Breakpoint oluşturmak için iki temel yöntem kullanılabilir. Bunlardan birincisi programın herhangi bir satıra gelindiğinde kırılmasıdır. Bu yöntem 3 değişik şekilde yapılabilir. Bunlar; Breakpoint oluşturacağımız satıra Mouse yardımı ile gelip resim 4.1’deki gibi Debug menüsünden Toggle Breakpoint komutu seçerek veya F9 tuşuna basarak oluşturabiliriz. Resim 4.1: Breakpoint oluşturma 1 Breakpoint oluşturacağımız satıra gelip resim 4.2’de görüldüğü gibi Mouse’un sağ tuşuna basarak karşımıza gelen pencereden Insert Breakpoint komutu seçerek oluşturabiliriz.
  • 42. 41 Resim 4.2: Breakpoint oluşturma 2 Resim 4.3’te görüldüğü gibi Margin Indicator çubuğunda Breakpoint oluşturacağımız satıra gelip Mouse’un sol tuşuna tıklayarak oluşturabiliriz. Resim 4.3: Breakpoint oluşturma 3 Uzun programlarda birden fazla breakpoint noktası oluşturarak programımızı daha kolay bir şekilde inceleyebiliriz. Birden fazla breakpoint oluşturulduğunda programımız 1. breakpoint e kadar çalıştıktan sonra durur. Eğer bu bölümde hata yoksa Start debugging ( ) butonuna veya F5 tuşuna basarak 2. breakpoint noktasına kadar program tekrar çalıştırılır. Bu şekilde tüm hatalar bulunup temizleninceye kadar program parça parça incelenebilir. Breakpoint oluşturmak için kullanılan ikinci yöntem ise herhangi bir işlemin gerçekleşmesine bağlı olarak programın kırılmasını sağlayan New Breakpoint yöntemidir.
  • 43. 42 Mesela bir fonksiyon içerisinde a değişkeninin değeri 15’ten farklı ise programın kırılmasını sağlamak buna örnek olarak gösterilebilir. Bu işlem için Debug menüsünden New Breakpoint komutu veya Ctrl+B kısayol tuşu kullanılır. New Breakpoint komutu çalıştırıldığında karşımıza Resim 4.4’teki pencere gelir. Bu pencerede kırılmanın gerçekleşeceği fonksiyonun ismi, satır ve karakter numarası ile hangi programlama dilinde yazıldığı bilgileri bulunmaktadır. Resim 4.4: New Breakpoint penceresi Burada Function ismi olarak Button1_click yazılır ve ok tuşuna basılırsa kırılma noktası programımıza eklenmiş olur. Bu kırılma noktası resim 4.5’te görüldüğü gibi breakpoint penceresine eklenir. Tüm oluşturulan kırılma noktaları Breakpoints penceresinde görülür. Eğer kırılma noktası üzerinde herhangi bir işlem yapmazsak formdaki Buton1 tıklandığında programımız durdurulacaktır. Eğer fonksiyon içerisindeki herhangi bir değişkenin değerine göre programın kırılmasını istiyorsak condition özelliğini ayarlamamız gerekecektir. Bunun için breakpoint penceresindeki kırılma noktası üzerine gelinip Mouse’un sağ tuşu tıklandıktan sonra açılan pencereden condition seçeneği seçilir. Condition penceresine istenilen şart ifadesi yazılarak kırılma noktası ayarlanmış olur. Resim 4.5: Kırılma noktası ve Kırılma noktası penceresi
  • 44. 43 Resim 4.6: Kırılma noktası özellikleri Kırılma noktasının özellikleri resim 4.6’da numaralandırılmıştır. Bunların görevleri sırasıyla; 1. Location: Kırılma noktasının bulunduğu yeri gösterir. 2. Condition: Kırılma işleminin herhangi bir koşula bağlı olarak gerçekleşmesini sağlar. 3. Hit Count: Kırılma işleminin ne zaman yapılacağını belirler. Örnek olarak istediğimiz şart sağlandığı zaman veya şart 3. defa gerçekleştiğinde. 4. Fitler: Kırılma işleminin hangi işlem veya iş parçalarında olabileceğini belirler. 5. When Hit: Kırılma işlemi gerçekleştiğinde ekrana mesaj aktarmayı veya herhangi bir makroyu çalıştırmayı sağlar. Not: Resim 4.6’da condition işlemi seçilip şart olarak b<>25 yazıldığında, program çalıştırılıp button1 tıklanırsa b değişkeninin değeri 25 olduğunda şart sağlanmadığından kırılma oluşacaktır. Oluşturulan breakpointler hatalar giderildikten sonra kaldırılmalıdır. Çünkü programın kaydedilmesiyle bu breakpointlerde kaydedilmiş olur. Breakpointler Visual Studio programı kapatılsa dahi silinmez. Kullanıcının bu noktaları kaldırdıktan sonra programı kaydetmesi gerekir. Breakpoint kaldırma işlemi oldukça basittir. Resim 4.7’de görüldüğü gibi Magrin Indicator çubuğundan kaldırmak istediğimiz breakpoint noktasına gelip Mouse’un sol tuşuna basarak breakpointi kaldırmış oluruz.
  • 45. 44 Resim 4.7: Breakpoint kaldırma işlemi Not: Oluşturduğumuz breakpointleri otomatik olarak açılan breakpoint penceresinde görüp inceleyebiliriz. Ayrıca bu pencere vasıtasıyla yeni breakpoint ekleyebilir, breakpointleri silebilir veya pasif hale getirebiliriz. 4.2. “BREAK” DURUMU YAPMA Bilindiği gibi bulunması en zor hata türü mantık hatasıdır. Diğer hata türlerinde derleyici programın yazımı sırasında veya hatalı satıra gelindiğinde kullanıcıyı uyarmaktadır. Bir mantık hatasını belirlemenin yollarından biri program kodunuzu satır satır çalıştırıp değişken veya özellikler değişirken bunların içeriğini incelemektir. Bu işlemi yapmak için programımız çalışırken break ( kırılma, kesme ) moduna girilebilir. Kesme modu, Visual Basic.NET derleyicisi programınızı çalıştırırken durdurup onu incelemenizi sağlar. Visual Basic.NET programlama dilinde break yapmak için start debugging butonunun ( ) yanında bulunan break all butonuna ( ) Mouse’un sol tuşu yardımı ile tıklamak veya Ctrl+Break kısayol tuşunu kullanmak yeterlidir. Bu işlem yapılınca programımızın code penceresi ekrana gelir ve programımızı inceleme imkânı buluruz. Break modunda ayrıca resim 1.8’de görüldüğü gibi debug menüsünde bulunan windows sekmesi kullanılarak programı incelemek için gerekli olan pencereler açılabilir, değişkenler incelenebilir.
  • 46. 45 Resim 4.8: Break modunda açılabilen pencereler Bu pencereler kullanılarak oluşturulan programın ayrıntılı olarak incelemesiyapılabilir. 4.3. KLAVYE KISAYOLLARI F5: Oluşturulan programın çalıştırılması veya duraklatılmış (break modda) bir programın çalışmasına devam ettirilmesi için kullanılan kısayol tuşudur. F9: Breakpoint eklemek için kullanılan kısayol tuşudur. Bu işlem için öncelikle hangi satıra breakpoint eklenecek ise Mouse o satıra konumlanmalıdır. F10: Programımızı adım adım (Step Over) çalıştırmak için kullanılır. Program akışında procedureleri tek satır olarak kabul eder ve içine girmez. F11: Programımızı adım adım (Step Into) çalıştırmak için kullanılır. Bu kısayol yardımı ile procedurelerin içine girilip incelenebilir. Bu işlem F8 tuşu yardımı ile de yapılabilir. Ctrl+Break: Çalışmakta olan (running) programdaki bütün işlemleri geçici olarak durdurur ve hata ayıklama moduna (debugging) geçilmesini sağlar. Bu sayede programdaki hatalar düzeltilip programın kaldığı yerden çalıştırılması sağlanır. Not: Eğer oluşturduğumuz programda procedure yoksa F10 ile F11 kısayol tuşlarının görevleri aynıdır. Aralarındaki fark programımızda procedure varsa ortaya çıkar. F11 tuşu yardımı ile procedure içine girip adım adım inceleme imkânı buluruz. F10 tuşu ise procedurelerin içine girmeden programı incelememizi sağlar. 4.4. HATALI SATIRIN ALTINDA OLUŞAN MAVİ DALGALI ÇİZGİ KULLANIMI Visual Basic.Net programlama dili diğer programlama dillerinde olduğu gibi programın yazımı sırasında oluşabilecek hataları denetler. Programın yazımı sırasında oluşacak hatalara söz dizimi hatası ya da derleyici hatası denir. Bu hata bir komutun, bir özelliğin yanlış yazılmasıyla veya bir değişkenin tanımlanmaması sonucu oluşabilir. Kullanıcı oluşan söz dizimi hatalarını düzeltmediği zaman derleyici programın çalışmasına izin vermez. Visual Basic.NET programlama dilinde, oluşacak söz dizimi hatasının altı mavi dalgalı çizgi ile çizilerek kullanıcıya oluşan söz dizimi hatası gösterilir. Kullanıcı mouse
  • 47. 46 yardımı ile söz dizimi hatasının olduğu yere geldiğinde hatanın oluş sebebi hakkında ayrıntılı bilgi edinebilir. Bu sayede hatalı bilgiler düzeltilip program çalıştırılmaya hazır hale getirilebilir. Örnek 1: Aşağıdaki programa dikkat edilirse a karakterlerinin altının çizili olduğu görülür. Bu bir söz dizimi hatasıdır. Programcı programı çalıştırmadan bu hatayı düzeltmek zorundadır. Hatayı düzeltmek için öncelikle hatanın oluşum nedenini bulmamız gerekir. Mouse yardımı ile mavi dalgalı çizgi üzerine gelindiğinde resim 4.9’da görüldüğü gibi hatanın sebebi konusunda ekrana bir uyarı mesajı gelecektir. Resim 4.9: Söz dizimi hatasının oluşumu Bu uyarı mesajında görüldüğü gibi hatanın sebebi a değişkeninin tanımlanmamasıdır. Bu hatayı gidermek için en üst satıra Dim a As Byte komut satırını yazmak yeterlidir. Daha sonra programdaki mavi dalgalı çizgilerin kalktığı görülecektir (Resim 4.10) Resim 4.10: Söz dizimi hatasının giderilmesiÖrnek 2: Aşağıdaki programda ( Resim 4.11) çeşitli söz dizimi hataları görülmektedir.
  • 48. 47 Resim 4.11: Çeşitli söz dizimi hataları Örnekte görülen söz dizimi hataları komut ve özelliklerin yanlış yazılması sonucu oluşmuştur. 1 nu.lı sözdizimi hatası Textbox1 nesnesinin text özelliğinin yanlış yazılması sonucu oluşmuştur. Text yerine Txet yazılmıştır. 2 nu.lı söz dizimi hatası for komutunun bir parçası olan next ifadesinin yazılmaması sonucu oluşmuştur. Mouse yardımı ile bu söz dizimi hatalarının üzerine gelindiğinde hataların oluşma sebebi öğrenilebilir. 4.5. “TASK LİST” PENCERESİ Task List (Görev listesi) penceresi programcının oluşturduğu görev ve açıklamaların listelenmesini ve kontrolünü sağlar. Programcı kendine göre bir görev listesi belirler ve bu sıraya göre programın yapımını kontrol eder. Ayrıca programın belli noktalarına açıklama satırları ekleyebilir. Bu pencereye View menüsünden Other Windows seçeneği işaretlenerek veya Ctrl+Alt+K kısayol tuşu vasıtasıyla ulaşılabilir. 1.6. “Autos” Penceresi Autos penceresi program içerisindeki değişkenlerin değerlerini takip etmek için kullanılan bir penceredir. Bu pencere yardımı ile değişkenleri sadece takip etmeyip onların değerlerini program çalışırken değiştirip, programın bu değişime verdiği tepkiyi de görebiliriz. Autos penceresi otomatik olarak ekrana gelen bir penceredir. Bu pencereyi incelemek için programımızı debugging modda çalıştırmamız gerekir. Resim 4.12: Autos penceresi
  • 49. 48 Programımızda tanımlı tüm değişken değerlerinin değişimini Autos penceresi yardımı ile takip edilebiliriz. Örnek: Aşağıdaki programımızı Autos penceresini kullanarak inceleyelim. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim a As Byte Dim b, d, i, j As Integer Dim c As Double j = 0 a = 15 b = 25 c = a / b d = a * b If d > 0 Then MsgBox("sonuç=" & d) Else MsgBox("yanlış sonuç") For i = a To b j = j + 1 MessageBox.Show(i) MessageBox.Show(j) Next i End Sub Programımızı F11 tuşu veya Step Into ( ) butonu yardımı ile çalıştırdıktan sonra ilk olarak Autos penceresi resim 4.13’teki hali alır.
  • 50. 49 Resim 4.13: Autos penceresi ile değişken izleme Autos penceresinde programımızda kullanılan tüm değişkenler ve bunların başlangıç değerleri ile değişken türleri görülebilmektedir. Programımızı adım adım çalıştırmaya devam edersek Autos penceresindeki değişimleri rahatlıkla takip edebiliriz. Resim 4.14’te görüldüğü gibi Autos penceresi aktif olan değişkenleri görüntüler, o an aktif olmayan değişkenler pencerede görülmez. Burada i ve j değişkenleri programın bu kısmında aktif olmadıklarından Autos penceresinde görülmez.
  • 51. 50 Resim 4.14: Autos penceresi ile değişkenlerin incelenmesi Programımızı adım adım çalıştırmaya devam edersek program değişken değerlerine göre işlemleri yapıp sona erecektir. Eğer programa herhangi bir yerde müdahale etmek istersek ( değişken değerlerini değiştirmek gibi) istediğimiz değişkenin ismi üzerine gelip Mouse yardımı ile çift tıklayarak değerini değiştirebiliriz. Örnek olarak resim 1.14’te görüldüğü dibi d değişkeninin değeri 375’tir. Bu değere göre if komutu şarta bağlı olarak then ifadesinden sonra gelen komutu çalıştırıp bir sonraki komuta (for komutu) geçilmesini sağlar. Burada program akışını değiştirmek istersek, Autos penceresinde bulunan d değişkeninin değeri üzerine Mouse ile çift tıklayıp -5 yazarsak programa direkt olarak müdahale etmiş oluruz. Böylece ifkomutundaki şart sağlanmadığından else ifadesindeki komut satırı çalıştırılacaktır. Bu şekilde programımızın istenilen işi yapıp yapmadığını rahat bir şekilde gözlemlemiş oluruz. Not: Program kesme modunda çalışırken değişken değerleri Mouse yardımı ile de görülebilir. Mouse değişken isminin üzerine getirildiğinde değişkenin değeri ekranda görülür. 4.7. “CALL STACK” PENCERESİ Call stack penceresi bellekte bulunan güncel fonksiyon ve pocedureleri görüntülemek ve bir fonksiyonun hangi fonksiyonlar tarafından çağrıldığını göstermek için kullanılır. Bu pencereyi açmak için programımızın debugging veya running modda çalışması gerekmektedir. Programımız bu modlardan herhangi birinde iken Debug menüsünden Windows sekmesi tıklanarak, Ctrl+L kısayol tuşu ile veya debug araç çubuğundan call stack penceresi açılabilir.
  • 52. 51 Resim 4.15: Call Stack penceresinin açılması Örnek: Aşağıdaki program incelenirse 3 adet function bulunmaktadır. Bunlar deg1 ve deg2 ve Button1_Click functionlarıdır. Deg1 ve Deg2 functionlarından değerler alınıp Button1_Click functionunda kullanılmaktadır. Dim a As Byte Dim b, d, i, j As Integer Dim c As Double Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click j = 0 a = 5 b = deg1() c = deg2() d = b * c If d > 0 Then MsgBox("sonuç=" & d) Else MsgBox("yanlış sonuç") For i = a To b j = j + 1 MessageBox.Show(i) MessageBox.Show(j) Next i End Sub
  • 53. 52 Function deg1() As Integer deg1 = a * 2 Return deg1 End Function Function deg2() As Byte deg2 = deg1() * 3 Return deg2 End Function Programı debugging modunda adım adım çalıştırırsak o an kullanılan functionları Call Stack penceresinde görebiliriz. Resim 4.16: Call Stack penceresi Call Stack penceresinde seçili satır, programın debug modunda çalıştığını, deg1 functionunda ve programın 19. satırında bulunduğumuzu gösterir. Deg2 fonksiyonu aktif olmadığından gösterilmez. 4.8. “EXCEPTİONS” DİYALOG KUTUSU Exceptions iletişim kutusu .NET programlama dilinde bulunan tüm istisnai durumları görmemizi sağlamak için kullanılır.
  • 54. 53 Resim 4.17: Exceptions iletişim kutusunun açılması Resim 4.18: Exceptions penceresi Bu pencere yardımı ile istisnai durumlar aratılabilir (find), yeni istisnai durum oluşturulabilir (Add) ve yapılan tüm değişiklikler silinip başlangıç durumuna dönülebilir (Reset All). Bir veya birden fazla istisnai durum için Thrown seçeneği seçilirse o istisnai durumların Try…Catch bloğu ile yönetilmesi engellenmiş olur. Ayrıca bu pencere yardımı ile istisnai durumların hangi programlara veya alan adlarına ait oldukları da bulunabilir. Mesela yukarıdaki pencerede ArgumentException istisnai durumunun sistem adalanının bir üyesi olduğu görülmektedir. 5. DEĞİŞKENLERİN DEĞERLERİNİ TAKİP ETME Programcıların yaptıkları programların çalışmasını incelerken dikkat edecekleri en önemli hususlardan biri değişken değerleridir. Değişken değerleri programcının istediği şekilde değişiyorsa programın çalışması açısından sorun yok demektir. Program yazıldıktan sonra değişken değerlerinin takip edilmesi o programın doğru çalışıp çalışmadığını kontrol açısından önemlidir. Eğer programın çalışmasında sorun varsa değişken takibi ile oluşacak hataları yerinde görüp müdahale edebilir. Bu işlem için Visual Basic.Net programlama dilinde Watch penceresi kullanılmaktadır. Bu pencerenin kullanımı ve özellikleri aşağıda anlatılacaktır.
  • 55. 54 5.1. “WATCH” PENCERESİ Watch penceresi değişken değerlerinin takibi için kullanılan bir penceredir. Fakat Autos penceresi o an aktif olan değişkenlerin takibinde kullanılır. Değişken kullanılmıyorsa otomatik olarak Autos penceresinden silinir. Değişkenlerin ve özelliklerin değerlerini program çalıştığı sürece görmek istediğimizde Watch penceresini kullanmanız gerekir. Bu pencereyi görmek için programı kesme modunda çalıştırmamız gerekmektedir. Watch pencerelerini Debug menüsünden Windows komutunu tıkladıktan sonra Watch sekmesi yardımıyla Watch 1, Watch 2, Watch 3 ve Watch 4 seçeneklerinden herhangi birini seçerek açabiliriz. Bu pencereler Ctrl+Alt+W kısayol tuşu kullanıldıktan sonra 1, 2, 3, 4 tuşlarından herhangi birine basılarak da açılabilir. 4 ayrı pencerenin olması bize aynı anda birçok değişken ve özelliği inceleme imkânı verir. Herhangi bir değişkeni seçip Add Watch komutunu kullandığımızda değişkeni otomatik olarak watch1 penceresine aktarır. Diğer watch pencerelerine değişken aktarmak istiyorsak değişkeni seçip kopyala komutu ile hafızaya alarak istediğimiz watch penceresine yapıştırabiliriz. Resim 5.1: Watch pencerelerinin açılması
  • 56. 55 Resim 5.2: Watch penceresi Watch penceresinde değişken takibi için değişkenlerin bu pencereye eklenmesi gerekir. Bu işlem debugging modunda iken (program adım adım çalıştırılırken) Mouse yardımı ile değişken üzerine gelinip Add Watch seçeneği seçilerek yapılır. Resim 5.3: Değişkenlerin Watch penceresine eklenmesi
  • 57. 56 Bir veya birden fazla değişken Watch penceresine eklendikten sonra (Resim 2.4) değişken türleri ve değerleri program çalıştığı sürece takip edilebilir. Resim 5.4: Değişkenlerin watch penceresinde görünümü Not: Uzun programlarda programın belli satırlarına kesme işareti konularak program parça parça incelenip değişkenler takip edilebilir. Oluşturulan durak noktalarına gelindiğinde değişkenlerin değerleri watch penceresinde görülebilir. Watch penceresine eklenen değişkenler pencere içerisinde seçilip delete tuşuna basılarak veya pencere içinde Mouse’un sağ tuşuna tıklanıp “clear all” komutu yardımı ile silinebilir. Örnek: Aşağıdaki programdaki değişkenleri Watch penceresini kullanarak inceleyelim. Dim a As Byte Dim b, i, j As Integer Dim c As Double Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a, b, c As Integer j = 0 a = 15 b = 5 c = a / b For i = 1 To 15 j = j + 10 Next Select Case j Case 0 : MessageBox.Show("Yanlış") Case 150 : MessageBox.Show("Doğru") End Select End Sub Programda a, b ve c değişkenlerini watch1 penceresinde inceleyelim. Debugging modunda Watch 1 penceresi açılıp a,b ve c değişkenleri bu pencereye aktarıldıktan sonra program adım adım çalıştırılır.
  • 58. 57 Resim 5.5: a,b,c değişkenlerinin watch penceresi ile incelenmesi Resim 5.5’te görüldüğü gibi a, b, c değişkenlerinin değerleri watch1 penceresinde izlenebilir. For i=1 To 15 satırına gelindiğinde a,b,c değişkenleri son değerlerini almış olacaktır. Bu durumda a=15, b=5 ve c=3 değerini alacaktır. Eğer bu değerlerde bir sorun varsa programda gerekli düzeltmeler yapılıp ortadan kaldırılabilir. Not1: Watch penceresi ile değişken değerleri incelenirken program akışını kontrol amacıyla değişken değerleri değiştirilebilir. Bu işlem için Watch penceresinde değişkenin üzerine imleç konumlandırılır, Mouse’un sağ tuşuna basılıp Edit Value komutu seçilir (Resim 2.6). Bu işlemden sonra istediğimiz değeri yazıp programın çalışmasını kontrol edebiliriz. Resim 5.6: Watch penceresinde değişken değerinin değiştirilmesi Not2: Watch penceresi ile Name bölümünde yer alan isim Mouse yardımı ile çift tıklanıp programda kullanılan başka bir değişkenin ismi yazılarak farklı değişkenler incelenebilir. Resim 5.7: Watch penceresinde değişken isminin değiştirilmesi
  • 59. 58 5.2. “QUICKWATCH” PENCERESİ Değişkenlerin değerlerinin takibi için kullanılır. Watch penceresinden farkı değişken veya değişkenlerin anlık değerini gösterir. Programı çalıştırılmaya devam ettiğimizde bu pencere kaybolur. Bu pencerenin açılması için programı debugging modunda çalıştırmak gerekir. QuickWatch penceresi debug menüsünden QuickWatch sekmesi tıklanarak açılabilir (Resim 2.8). Bu pencereyi hangi satırda açmışsak o satırdaki değişkenin değerini otomatik olarak gösterir (Resim 5.9). Resim 5.8: QuickWatch penceresinin açılması Resim 5.9: QuickWatch penceresi
  • 60. 59 OuickWatch penceresinde değişkenlerin anlık bilgilerini görmek için kullanılan bir başka yöntem ise değişkeni seçip Mouse’un sağ tuşuna basarak açılan menüden “QuickWatch” penceresini açmaktır (Resim 5.10). Resim 5.10: QuickWatch penceresinin açılması Resim 5.9’da görülen QuickWatch penceresi ile c değişkeninin o anki değerini ve değişken türünü öğrenebiliriz. Ayrıca belirlenen değişkenleri Add watch komutu ile Watch penceresine ekleyebilir, Reevaluate butonu ile değişken değerini güncelleyebiliriz. 5.3. “COMMAND WINDOW – IMMEDIATE” PENCERESİ Command window kesme (Debugging) modunda değişkenlerin değerlerini değiştirmek veya istenilen komutları çalıştırmak için kullanılır. Bu pencere 2 modda çalışır. Bunlar Immediate modu ve Command modudur. Command window- immediate penceresini açmak için kesme modunda Debug menüsünden Windows sekmesi tıklanarak immediate komutu seçilir veya Ctrl+G kısayol tuşu kullanılır.
  • 61. 60 Resim 5.11: Command penceresinin açılması Resim 5.12: Command penceresi Açılan pencere yardımı ile command ve immediate modları arasında geçiş yapılabilir. Immediate modundan command moduna geçmek için “>cmd” komutunu (Resim 2.13), command modundan immediate moduna geçmek için ise “>immed” komut satırını pencere içine yazmak gerekmektedir (Resim 5.14). Resim 5.13: Immediate modundan Command moduna geçiş Resim 5.14: Command modundan Immediate moduna geçiş Command modu yardımı ile menülerde bulunan birçok komut çalıştırılabilir. Bunlara örnek verecek olursak save, save all, close, code, designer, help, callstack, autos gibi. Bu işlemleri yapmak için pencere içerisinde > işaretinden sonra istediğimiz komutu yazıp enter tuşuna basmamız gerekir (Resim 2.15).
  • 62. 61 Resim 5.15: Command modunda komut yazılımı Immediate modunda ise program içerisindeki değişken değerlerini değiştirebilir ve bu değerleri kullanarak işlem yaptırabiliriz. İmmediate penceresinde değişkenin değeri değiştirildiğinde otomatik olarak watch penceresinde de değeri değişir. Bu iki pencere birbirini tamamlar. Bu modu kullanarak değişkenlerin dışında nesne özelliklerini de değiştirebiliriz. Textbox nesnesinin text, top, width vb. özelliklerini değiştirmek gibi. Not: Immediate modunda “>” işaretini kullanarak komutlar da çalıştırılabilir. Örnek: Resim 5.16: Textbox1 nesnesinin top özelliğinin değiştirilmesi Örnekte textbox1 nesnesinin top özelliğine 5 bilgisi aktarılmıştır. Bu pencereyi kullanarak program kesme modunda çalışırken birçok nesne özelliğini değiştirip daha mükemmel bir program oluşturulabilir. Örnek: Aşağıdaki örnek programı adım adım ( kesme modunda) çalıştırıp b=5 satırına gelindiğinde a değişkeninin değerini immediate penceresi yardımı ile 30 olarak değiştirip program akışındaki değişikliği inceleyelim. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a, b As Integer Dim aa As String Dim c As Double Dim i, j As Integer j = 0 a = 15 b = 5 c = a / b aa = TextBox1.Text If c = 3 Then For i = 1 To 15 j = j + 10
  • 63. 62 Next End If Select Case j Case 0 : MessageBox.Show("Yanlış") Case 150 : MessageBox.Show("Doğru") End Select End Sub Normal şartlarda programa müdahale etmediğimizde c değeri 3 olacak, for döngüsü çalıştırılacak bunun sonucunda j değeri 150 olacak ve ekrana “Doğru” ifadesi yazdırılacaktır. Immediate penceresi kullanılarak a değeri 30 yapıldığında ise for döngüsü çalıştırılmayacak, j değeri 0 olacak ve ekrana “Yanlış” ifadesi yazdırılacaktır. Resim 5.17: a değerinin değiştirilmesi Değişken değerlerini değiştirerek programın hangi değişken değerine hangi tepkiyi verdiğini veya hangi değişken değerinde hangi işlemin yapılacağı incelenebilir. Bu programcıların yaptığı programı kullanıcıdan önce incelemesini ve oluşabilecek hataları bulup düzeltmesini sağlayacaktır.