Ders 9 Visual Basic Bile*enleri - Altan MESUT

Download Report

Transcript Ders 9 Visual Basic Bile*enleri - Altan MESUT

PROGRAMLAMA DİLLERİNE GİRİŞ

Ders 9: Genel Kontroller Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği

Genel Kontroller

• • Bu derste Araç Kutusunda (Toolbox) bulunan Genel Kontroller (Common Controls) sekmesi altında yer alan sınıflar işlenecektir.

Bir Windows formuna eklenebilecek nesneler ile ilgili sınıflar hakkında detaylı bilgiyi http://msdn.microsoft.com/tr tr/library/system.windows.forms.aspx

adresinde bulabilirsiniz.

– NOT: aspx’ten önce sınıfın adını yazarsanız doğrudan o sınıf ile ilgili sayfaya gidebilirsiniz: http://msdn.microsoft.com/tr tr/library/system.windows.forms.button.aspx

(bu sayfalarda sınıfın yöntemleri, özellikleri ve olayları hakkında bilgiler yer almaktadır)

Metin Kutusu (TextBox)

• • • • • Metin kutusu kullanıcının programa değer girmesi, dosyadan okunan veya program tarafından üretilen değerlerin görüntülenmesi için kullanılır. Bu değerler Text özelliğinde saklanır.

Metin kutusunun rengi rengi ise ForeColor BackColor özelliği ile, içindeki yazının özelliği ile değiştirilebilir.

Eğer birden çok satır gösterilecekse MultiLine olmalıdır.

Yazıtipi değişimi için Font özelliği kullanılır: özelliği True – Program çalışırken yazıtipinin Name, Size, Bold, Italic, .. gibi özelliklerine erişilebilir ( string a = textBox1.Font.Name; ) – Fakat bu özellikler ReadOnly oldukları için değiştirilemezler ( textBox1.Font.Size = 12; hata verir ).

Yazıtipini değiştirmek için aşağıdaki gibi bir kod kullanılabilir:

textBox1.Font = new Font ( "Calibri" , 12, FontStyle .Bold);

Kalıplı Metin Kutusu (MaskedTextBox)

• • Bu kontrolün Metin Kutusu kontrolünden farkı Mask özelliği sayesinde belirli bir kalıba göre girdi kabul etmesidir.

Tarih, zaman, telefon numarası gibi biçimi önceden belli olan nümerik değerlerin girişi için kullanılır.

Düğme (Button)

• • • • • Genellikle kullanıcının bir işlemi başlatması için tıkladığı kontroldür.

Düğmenin en çok kullanılan olayı fare ile tek tıklama ( Click ) olayıdır.

Düğmenin üzerindeki yazı Text değiştirilir.

Düğmenin rengi yazının rengi ise değiştirilebilir.

BackColor ForeColor özelliği ile özelliği ile, üzerindeki özelliği ile Komut düğmesinin üzerinde yazı yerine bir resim gösterilmesi istenirse BackgroundImage özelliği kullanılabilir.

Etiket (Label)

• • Etiketler genellikle bir metin kutusunun solunda yer alır ve yanındaki metin kutusunda görüntülenen değerin (yada o metin kutusuna girilecek olan değerin) ne olacağını (ad, soyad, adres …) belirler.

Etiketin yazısının değiştirilmesi de metin kutuları ve düğmelerde olduğu gibi Text özelliği ile yapılır.

Bağlı Etiket (LinkLabel)

• • Tıklandığında bir web sayfasını yada bir mail adresini açan etikettir.

Varsayılan olayı olan LinkClicked System.Diagnostics.Process.Start

URL verilir: olayına ile istenilen .Start( "http://altanmesut.trakya.edu.tr" ); .Start( "mailto:[email protected]" );

Onay Kutusu (CheckBox) ve Seçim Düğmesi (RadioButton)

• • • Kullanıcının fare yardımı ile birden çok seçenek arasından seçim (seçim düğmesi ile) ya da seçimler (onay kutusu ile) yapmasını sağlayan kontrollerdir.

Yapılan seçimler Checked özelliği üzerinden kontrol edilir (Seçili ise True , değilse False ).

– Onay kutuları Checked özelliği dışında CheckState özelliğine de sahiptir. Bu özellik; Unchecked (0), Checked (1) ve Indeterminate (2) olmak üzere 3 faklı değer alabilir. Indeterminate (2) özelliği ancak program kodu ile atanabilir, kullanıcı tıklama ile bu değeri atayamaz.

İkisi arasındaki en büyük fark: – Bir onay kutusunun değerinin değişmesi form üzerindeki diğer onay kutularını etkilemez.

– Seçim düğmelerinin bir tanesinin tıklanması o düğmenin değerini True yaparken, form üzerindeki daha önce seçilerek True yapılmış diğer seçim düğmesinin değeri kendiliğinden False olur.

Not:

• • Containers altında yer alan GroupBox, Panel gibi bileşenlerle birbiri ile ilgili olan seçim düğmeleri ve onay kutuları bir araya getirilip gruplandırılabilir.

Bir container içinde yer alan bir seçim düğmesi tıklandığında sadece o container içinde daha önce değeri True olan bir seçim düğmesi varsa o düğme etkilenir. Form üzerinde veya başka container’lardaki değeri True olan diğer seçim düğmeleri etkilenmez.

Liste Kutusu (ListBox)

• • • Bir dizinin elemanlarının gösterilmesi, ve eğer gerekiyorsa bir yada birkaç tanesinin seçilmesi için kullanılan bileşendir.

Kullanıcının çoklu seçim yapabilmesi için SelectionMode özelliğinin MultiSimple yada MultiExtended yapılması gereklidir.

– Simple’da sadece tıklamayla, Extended’ta ise Ctrl tuşu ile birlikte tıklamayla çoklu seçim yapılır.

Liste Kutusuna elemanlar Items.Add

eklenir Items.Remove

– – listBox1.Items.Add( "Ahmet" ); özelliği ile özelliği ile çıkarılır.

listBox1.Items.Remove( "Ahmet" );

Birleşik Giriş Kutusu (ComboBox)

• • • • Metin Kutusu ile Liste Kutusunun birleşimidir.

Form üzerinde tek satırlık bir metin kutusu kadar yer kaplar. Sağ tarafındaki düğmeye tıklanırsa liste kutusu aşağıya doğru açılır.

Listede yer alan değerler haricinde bir değer girilmesi mümkündür.

DropDownStyle ayarlanabilir: – DropDown : özelliği ile kullanım şekli Hem metin kutusu hem de Liste kutusu beraber kullanımı (varsayılan [default] durum) – Simple : Sadece metin kutusu kullanımı – DropDownList : Sadece liste kutusu kullanımı

Onay Kutulu Liste Kutusu (CheckedListBox)

• • Liste kutusundan farkı; tüm elemanların yanında birer onay kutusunun görüntülenmesidir.

NOT: ListBox, ComboBox ve CheckedListBox içindeki elemanların sıralı olarak görüntülenmesi isteniyorsa hepsinde olan Sorted özelliği True yapılabilir.

Liste Görünümü (ListView) ve Ağaç Görünümü (TreeView)

• • • Kapsadıkları elemanların ağaç görünümünde ve liste görünümünde gösterilmesini sağlayan kontrollerdir.

ListView kontrolünün View özelliği ile görüntüleme şekli değiştirilebilir (alt alta, yan yana, … Windows Gezgini’ndekine benzer şekilde) TreeView kontrolünde elemanlar düğümlerde ( Nodes ) saklanır. Root Node, Parent Node ve Child Node kavramlarını “Veri Yapıları” dersinde ağaçlar konusunda öğreneceksiniz.

Resim Kutusu (PictureBox)

• • • • Bilgisayarda bulunan bir resmi göstermek için kullanılır.

Image – özelliği ile istenilen resim seçilir.

Kod ile resim seçmek için örnek: pictureBox1.Image = System.Drawing.

Image .FromFile( "C:/Users/Public/Pictu res/Sample Pictures/Koala.jpg" ); SizeMode – özelliği ile görüntünün boyutu resim kutusunun boyutundan farklı olduğu durumlarda nasıl gösterileceği ayarlanır: Normal, Zoom, AutoSize, CenterImage, StretchImage Form ve Komut Düğmesi gibi bazı kontrollerde bulunan BackgroundImage özelliği resim kutusunda da vardır.

– BackgroundImage ile resim yüklerseniz, SizeMode yerine BackgroundImageLayout kullanmalısınız.

Tarih Zaman Seçici (DateTimePicker)

• • • • • Tarih ve zamanı görüntülemek ve seçmek için kullanılır.

Seçme işlemi ValueChanged olayıdır.

Alabileceği minimum ve maksimum tarih değerleri MinDate ve MaxDate özellikleri ile belirlenebilir.

Seçilen tarih ve saat değeri Second, …] kullanılabilir.

Date veri tipindeki Value özelliği ile elde edilir. İstenirse tarih yada saatin belirli bir değerini elde etmek için Value.[Day, Month, Year, Hour, Minute, Format – Long: özelliği ile görüntüleme biçimi değiştirilebilir: – Short: – – Time: Custom: dd/MM/yy

Aylık Takvim (MonthCalendar)

• • • • • • DateTimePicker’da tıklanınca açılan aylık takvimin sürekli açık olarak göründüğü kontroldür.

BoldedDates özelliği (ve AddBoldedDate yöntemi) ile kalın yazı tipi ile görünmesi gereken tarihler belirlenebilir. AnnuallyBoldedDates özelliği (ve AddAnnuallyBoldedDate ) ise her sene tekrar eden doğumgünü gibi durumlarda tüm seneler için aynı günün koyu görünmesini sağlar. CalendarDimensions özelliği ile yatayda ve düşeyde kaçar tane ayın bilgisini görüntüleneceği seçilir.

SelectionRange aralığı belirlenir.

özelliği ile seçili olarak görüntülenecek tarih MaxSelectionCount özelliği ile aynı anda seçilebilecek maksimum gün sayısı belirlenir.

Araç İpucu (ToolTip)

• • • • Farenin imleci bir kontrolün üzerine geldiğinde o kontrolle ilgili bir açıklama görüntülenmesini sağlar. Açıklamanın görüntülenmesi için Show yöntemi kullanılır. Örneğin textBoxVizeNotu metin kutusunun MouseMove olayının yordamına aşağıdaki kod yazılabilir: – toolTip1.Show( "Bu alana sadece nümerik değer giriniz" , textBoxVizeNotu); Active özelliği True/False yapılarak görüntülenmenin yapılıp yapılmaması ayarlanır.

InitialDelay özelliği ile görüntülemenin süresi ayarlanır.

Bildirim Simgesi (NotifyIcon)

• • • • • • Windows’un ‘Bildirim Alanı’nda uygulamanın bir simgesi yer alması isteniyorsa kullanılır.

Icon özelliği ile görüntülenecek simge belirlenir.

BalloonTipText ile simge üzerine gelindiğinde hangi mesajın görüntüleneceği belirlenir. ShowBalloonTip yöntemi ile balon simgesinin üzerine mouse ile gelinmese bile belirli bir milisaniye boyunca görüntülenmesi sağlanır.

ContextMenu özelliği ile üzerine tıklandığında görüntülenecek olan menü seçilir (haftaya anlatılacak).

NOT: NotifyIcon ve ToolTip kontrolleri Form üzerinde doğrudan görüntülenmezler.

Sayı Arttır Azalt (NumericUpDown)

• • • Kullanıcının belirli bir aralıktaki sayıları arttırıp azaltma işini daha hızlı yapabilmesini sağlamak için kullanılan bir kontroldür.

Sayı aralığı Minimum ile belirlenir.

ve Maximum özellikleri Artım miktarı Increment özelliği ile belirlenir.

İlerleme Çubuğu (ProgressBar)

• • • Eğer program uzun sürecek bir işlem yapıyorsa, o işlemin yüzde kaçının tamamlandığını kullanıcıya göstermek amacıyla kullanılır.

Bu kontrolde de aralık belirlemek için Minimum ve Maximum özellikleri kullanılır (Varsayılan değerler 0 ve 100).

İşlemin yüzde kaçının tamamlandığı Value özelliğine atanır: progressBar1.Value = 20;

Web Gezgini (WebBrowser)

• • Web sayfalarının görüntülenmesini sağlayan kontroldür.

Url özelliğinde görüntülenmesi istenilen web sayfasının URL bilgisi saklanır. Fakat System.uri

veri tipinde olan bu özelliğe bir TextBox yada ComboBox kontrolünün Text özelliği eşitlenemez. Bu nedenle program kodunda Navigate yöntemini kullanmak daha doğrudur: webBrowser1.Navigate(comboBox1.Text);

Mesaj Kutusu (MessageBox)

• • • Kullanıcıya bir mesaj göstermek için kullanılır.

Araç kutusu içinde yer almayan statik bir sınıftır.

MessageBox.Show() olarak string yöntemi kullanıldığında bir mesaj penceresi açılır ve yönteme ilk parametre tipinde verdiğimiz mesaj görüntülenir. Mesaj penceresinin başlığı, simgesi, üzerinde yer alacak düğmeler, vs. yönteme parametre olarak eklenebilir.

MessageBox .Show( "Kaydetmeden çıkmak istediğinize emin misiniz?" , "Uyarı" , MessageBoxButtons .YesNo, MessageBoxIcon .Warning);

Bazı Ortak Özellikler

• • • • •

Enabled:

Nesnenin aktif durumda olması için True, pasif durumda olması için ise False değeri atanır.

Visible:

Nesnenin form üzerinde görünmesi isteniyorsa True, görünmemesi isteniyorsa False değeri atanır.

Left, Top, Width, Height:

Nesnenin Form üzerindeki konumunu ve büyüklüğünü belirlemek için kullanılırlar.

Dock:

Nesnenin Formun belirli bir yerine yapışık olarak Form ile birlikte büyümesi ve küçülmesi isteniyorsa kullanılır. Top, Bottom, Left, Right, Fill ve None değerlerini alır.

ContextMenuStrip:

Bir nesnenin üzerine sağ tıklandığında açılacak olan menünün belirlendiği özelliktir. (Aynı isimde bir sınıf ta vardır, o sınıftan türetilen bir menü nesnesi ile istenilen bir nesnenin bu özelliği ilişkilendirilir)

Bazı Ortak Olaylar

• • •

Click:

Fare ile tek tıklamada çalışır

DoubleClick:

Fare ile çift tıklamada çalışır

MouseDown:

Fare ile tıklandığında çalışır. Click’ten farkı hangi tuş ile tıklandığını elde edebiliriz (VB 6.0’da olmayıp VB.NET’te olan

MouseClick

buna benzer bir olaydır).

• • 

MouseUp:

Farenin tuşu bırakıldığında çalışır.

MouseMove:

Farenin nesne üzerinde gezinmesi MouseUp/Down/Move olaylarında temel argümanlar (MouseEventArgs: e parametresinden elde edilir): – –

Button:

Farenin hangi tuşuna basıldığı saklanır

X, Y:

Mouse tıklandığında koordinatları saklanır

Bazı Ortak Olaylar

• • • •

KeyDown ve KeyPress:

İkisi de klavyede bir yada aynı anda birkaç tuşa basma olayıdır

KeyUp:

Klavyenin tuşunu bırakma olayıdır – KeyDown ve KeyUp olayları KeyCode, Control ve Shift parametrelerini ayrı ayrı kullanır. KeyCode klavyeden basılan tuşun değerini saklarken, diğerleri CTRL ve SHIFT tuşlarının basılı olup olmadığını saklar. – KeyPress’te ise basılan tuşun karakter değeri e.KeyChar’da saklanır. KeyDown’dan farkı SHIFT ve CTRL tuşlarını ayrı bir argüman olarak ele almaz. SHIFT ile ‘a’ tuşu basıldıysa KeyChar = ‘A’ yani 65 olur (SHIFT olmadan basılırsa 97). KeyCode ise SHIFT basılı olsun olmasın 65’tir.

GotFocus:

Nesneye odaklanma olduğunda çalışan olaydır

LostFocus:

Nesneye odaklanma kaybolduğunda çalışan olaydır

String sınıfındaki bazı yöntemler

• • substring(startIndex, [length]): String’in startIndex noktasından başlayıp length kadar uzunlukta olan bir bölümünü (length verilmezse sona kadar) döndürür : "Bilgisayar" .Substring(5); sayar "Bilgisayar" .Substring(1, 4); ilgi Trim: Parametresiz kullanıldığında string’in başındaki ve sonundaki boşlukları siler. Parametre olarak bir karakter verildiğinde string’in başında ve sonunda o karakterden kaç tane arka arkaya varsa hepsini siler: – txtSayı1.Text.Trim( 'a' ); TrimStart yöntemi sadece string’in başı, TrimEnd sonu için aynı işi yapar.

ise sadece

Diğer Kontroller

• • • Araç kutusunda Containers , Data Common Controls haricinde gibi başka sekmeler de vardır. All Windows Forms – bırakılmışlardır.

sekmesinde ise tüm kontroller alfabetik sırada görülebilir. HScrollBar, VScrollBar, Timer, LineShape, OvalShape gibi kontroller Visual Basic 6.0’da standart araç kutusunda yer almaktaydı. Şimdi ise nadiren kullanıldıkları düşünülerek Common Controls dışında Araç kutusunun üzerine sağ tıklanıp açılan menüden “Choose Items” seçilerek başka kontroller eklemek de mümkündür.