Make your own free website on Tripod.com
 

ViSUAL BASIC

DERS NOTLARI

(Denetimlere Giris)

 

 

 

 

 

 

HAZIRLAYANLAR:

Selçuk SÖNMEZ

&

Faruk MALTAŞ

 

   Visual Basic Denetimlerine Giriş

        Form nesneleri Visual Basic uygulamalarının temelidir. Geliştiriceğimiz tüm uygulamalarda en az bir form olacaktır. Formları ise istediğimiz halde tasarlayabilmek için denetimleri kullanırız.

CommandButton

Kullanıcıdan tepkiler toplamak için form üzerine yerleştirilen denetimlerdir. Komut düğmelerinin en önemli iki özelliği Name ve Caption’dur. Name özelliği nesneyi projede kullanılan diğer kontrollerden ayırt edebilmemizi sağlar. Komut düğmelerine isim verirken genellikle cmd yazarak başlarız. Caption  özelliği ekranda görülecek etiket belirler. Caption özelliği verirken & karakterini kullanarak istenilen harfin altı çizgili gösterilir. Komut düğmelerinde en çok kullanılan özelliklerden biride Default ve Cancel özellikleridir. Default özelliğine True değeri verildiğinde form üzerinde üzerinde Enter tuşuna basılması ile komut düğmesinin click olayı meydana gelir. Cancel özelliğine True değeri verilmesi ile ise form üzerinde herhangibir denetim üzerinde ESC tuşuna basıldığında komut düğmesinin click olayı meydana gelir.

        Komut düğmelerinde en çok kullanılan olay ise Click olayıdır. Kullanıcı komut düğmesi üzerine tıkladığı anda gerçekleşir.

TextBox

Genellikle kullanıcıdan veri toplamak amacı ile kullanılır. Metin kutuların caption özelliği bulunmaz bunun yerine text özellikleri vardır. Metin kutusu içerisinde yazan değeri görmemizi sağlar. Aşağıda metin kutularının çok kullanılan özellikleri verilmiştir.

Text

Metin kutusunun içeriğini gösterir.

MaxLenght

Varsayılan değeri 0’dır. Metin kutusu içerisine en fazla kaç karakter yazılabileceğini ayarlar.

PasswordChar

Parola giriş kutularında kullanıcının girdiği karakterler metin kutusunda gösterilmez bunun yerin * kararkterleri gösterilir. Bu özellik ilede metin kutusuna girilen karakterler yerine gösterilmesi istenen karakter ayarlanır.

MultiLine

Metin kutusuna bir satırdan fazla bilgi girilebilmesini sağlar.

ScrollBars

MultiLine özelliği True yapılmış bir metin kutusuna kaydırma çubukları ekler.

Locked

Metin kutusu içeriğinde değişiklik yapılmamasını sağlar. Metin kutusunu kitler.

TabStop

Tab tuşlarına basılarak Metin kutusuna ulaşılıp ulaşılamayacağını ayarlar.

TabIndex

Tab tuşu ile denetimler arasında dolaşma sırasını belirler.

Enabled

Metin kutusunun aktif veya pasif olacağını ayarlar.

Visible

Metin kutusunun ekranda gösterilip gösterilmeyeceğini belirler.

 

Metin kutularında en sık aşağıdaki olaylar kullanılır.

Change

Metin kutusu içeriğinde bir değişiklik olduğunda gerçekleşir.

GotFocus

Metin kutusu etkinleştiği anda gerçekleşir.

KeyDown

Bir tuşa basıldığı anda gerçekleşir.

KeyPress

Bir tuş basılı olduğu sürece gerçekleşir.

KeyUp

Tuş bırakıldığı anda gerçekleşir.

LostFocus

İmleç metin kutusundan ayrıldığı anda gerçekleşir.

 

Private Sub Text1_LostFocus()

MsgBox "Metin Kutusunda " & Text1.Text & " yazıyor."

End Sub

 

Metin kutularında kullanılan birkaç tane metot vardır. Bunlardan en önemlisi SetFocus metodudur. Bir metin kutusunu etkinleştirmek amacı ile kullanılır.

 

Text1.SetFocus

Label

Etiketlerde metin kutularına benzer, aralarında fark ise kullanıcı etiketlere değer giremez. Çok fazla özelliği yoktur. Caption özelliklei kullanılarak içlerine yazılar yazılabilir.

Alignment

İçerisinde bulunan yazının hizalanmasını sağlar.

AutoSize

Etiket içerisinde bulunan değere göre boyutlarını otomatik olarak ayarlar

BackStyle

Etiketin  form ile aynı rengi almasını sağlar.

BorderStyle

Etiketin  3 boyutlu görülmesini sağlar.

MouseMove

Mouse işaretçisi üzerlerine geldiğinde gerçekleşir.

UseMnemonic

Etiketlerde Caption özelliğinde & karakteri kullanılmasını sağlar.

Image

Görüntü denetimleri resim gösterme işlemlerinde kullanılırlar. Resim denetime oranla daha az hazfıza tüketir. Image’lar içerisinde *.Bmp, *.Ico, *.Wmf, *.Jpg, ve *.Gif dosyaları görüntülenebilir.

Picture

Bu özelliği araçılığı ile resim eklenebilir.

Stretch

Bu özellik False ise resmin boyutlarını alır. Eğer özellik True olursa resim denetimin boyutlarına ayak uydurur.

PictureBox

Resim kutuları genellikle grafikleri (örneğin bmp, jpg, gif ) görüntülemek için kullanılır. Görüntü denetimleri ile çok benzerdirler. Aralarında çok az farklılık vardır. Eğer sadece bir resim göstermek isteniyorsa görüntü kutusu daha iyi bir seçimdir. Graifiği form üzerinde taşımayı düşünüyorsak resim kutuları daha esnektir. Resim kutuları içerisine çizim yapabiliriz.

AutoSize

Resim kutusuna bir resim yerleştirildiğinde normal boyutlarda gösterilir. Eğer resim, resim kutusundan büyük ise resim kırpılır. Bu özelliğin değerini True yaparsak resim kutusu boyutlarını grafiğe uyacak şekilde ayarlamasını sağlar.

Picture

Resim kutusu içerisinde gösterilen resim bu özellikle belirlenir. Hem tasarım modunda hemde çalışma modunda kullanılabilir.

Image

Bu özellik sadece çalışma modunda kullanılabilir. Resim kutusu içerisinde gösterilen resmi başka bir Resim kutusu içerisine kopyalarken kullanılabilir.

Picture2.Picture=Piture1.Image

LoadPicture

Bu metot çalışma kipinde resim kutusuna resim yükletmek için kullanılır.

Picture1.Picture=LoadPicture(dosya adı)     ‘Bu kod dosya adı verilen resmi görüntüler

Picture1.Picture=LoadPicture( )                   ‘Bu kod ise resim kutusu içerisini  boşaltır.

Frame, OptionBox, CheckBox

Frameler çerçeve olarakda geçerler ve formların biraz daha profosyonel görülmelerini sağlarlar. Genellikle seçim kutuları ve onay kutuları ile birlikte kullanılırlar. Seçim kutuları ise kullanıcıya birkaç seçenek sunar. Kullanıcıda bu seçeneklerden sadece bir tanesini seçebilir. Onay kutuları da tıpkı seçim kutularına benzer fakat aynı anda birden fazla onay kutusu işaretlenebilir. Seçim ve onay kutularının en önemli özelliği Value’dur. Bu özellik True ve False değeri atayarak işaret koydurabilir veya işareti kaldırabiliriz.

        File-New Project komutunu vererek yeni bir proje başlatalım. Aşağıdaki gibi bir form tasarlayalım. OptionBox ve CheckBox’ların Click olayına ise aşağıdaki kodları yazalım. Private Sub Check1_Click()

       If Check1.Value = 1 Then

Label1.FontBold = True

       Else

                    Label1.FontBold = False

End If

End Sub

Private Sub Check2_Click()

       If Check2.Value = 1 Then

                    Label1.FontItalic = True

       Else

                    Label1.FontItalic = False

       End If

End Sub

Text Box: Program çalıştırıldığında aşağıdaki gibi bir görünüm oluşur.  Bu seçim kutuları ve onay kutuları kullanılarak istenilen özellikler verilebilir. Seçim Kutularında value değerleri için True veya False özelliği verebiliyoruz onaykutularında ise 0 ve 1 değerlerini girmemiz gerekir.
Private Sub Check3_Click()

       If Check3.Value = 1 Then

                    Label1.FontUnderline = True

       Else

                    Label1.FontItalic = False

       End If

End Sub

Private Sub Option1_Click()

       If Option1.Value = True Then

                    Label1.ForeColor = vbRed

       End If

End Sub

Private Sub Option2_Click()

       If Option2.Value = True Then

                    Label1.ForeColor = vbBlue

       End If

End Sub

Private Sub Option3_Click()

       If Option3.Value = True Then

                    Label1.ForeColor = vbYellow

       End If

End Sub

Timer

Zamanlayıcı denetimidir. Çalışma kipinde görülmezler. Önemli iki özelliği vardır.

Enabled

Timer denetiminin aktif veya pasif olacağını belirler.

Interval

Timer denetiminin ne kadar aralıkla timer olayını üreteceğini belirleriz. Milisaniye cinsinden bir değer yazarız. 1 sn. için 1000 yazmalıyız.

Timer

Timer olayını kullanarak istediğimiz aralıklalarla olaylar gerçekleştirebiliriz. Aşağıdaki kodu kullanarak bir saat yapabiliriz.

 

Private Sub Timer1_Timer()

Text1.Text = Time

End Sub

ScroolBars

Formumuza yatay ve dikey kaydırma çubukları eklememizi sağlarlar. Her iki denetimde aynı özellikleri taşırlar.

Max

Kaydırma çubuğunun alabileceği en büyük değeri belirler.

Min

Kaydırma çubuğunun alabileceği en küçük değeri belirler.

LargeChange

Kullanıcı kaydırma çubuğuna tıkladığında value değerinin en fazla ne kadar değişeceğini belirler.

SmallChange

Kullanıcı kaydırma çubuğuna tıkladığında value değerinin en az ne kadar değişeceğini belirler.

Value

Kaydırma çubuğunun değerini belirler.

Change

Kullanıcı kaydırma çubuğunun değerini değitirdiğinde gerçekleşir.

 

Aşağıdaki şekilde form üzerine bir kaydırma çubuğu ve birde etiket yerleştirilmiştir. Kaydırma çubuğunun Max değeri 100 Min değeri ise 0 olarak ayarlanmıştır. Kullanıcının kaydırma çubuğunu sürüklediğinde etiket içerisinde değerini görmek için aşağıdaki kodu girmeliyiz.

 

 

 

Private Sub HScroll1_Change()

Label1.Caption = HScroll1.Value

End Sub

 

 

 

Listbox

Liste kutuları kullanıcılara bir liste sunmanın ideal bir yoludur. Kullanıcılar liste kusuntunda bulunan verileri inceleyebilir ve istediklerini seçebilirler. Liste kutularının bazı özellik ve metotları şunlardır.

List

Bu özellik ile listedeki herhangi bir öğenin değeri öğrenilebilir. Listedeki ilk elamanın list özelliği 0’dır. Örnegin listede bulunan 3. elemanın değerini öğrenmek için şunu yazmalıyız;

MsgBox List1.List(2)

ListIndex

Listede seçili olan elemanın indeks numarasını verir.

MsgBox List1.List(List1.ListIndex)

Yukarıdaki ifade yerine liste kutusunun text özelliğide kullanılabilir.

List1.Text

Yukarıdaki her iki ifade de aynı işi gerçekleştirir.

ListCount

Listede bulunan eleman sayısını verir. Eğer ListCount 0 ise liste kutusu boştur.

MultiSelect

Bu özellik True olarak ayarlanmış ise listeden aynı anda birden fazla eleman seçebiliriz. Listelerden birden fazla seçim yapmak için Shift tuşu kullanılır.

Sorted

Sadece tasarım kipinde ayarlanabilecek bir özelliktir. Listedeki elemanları otomatik olarak sıralar.

AddItem

Liste kutularında kullanılan en önemli metotdur. Listeye yeni elemanlar eklemek için kullanılır.

List1.AddItem "Uğur ŞAHIN"

RemoveItem

Listeden elemanları çıkartmak için kullanılan bir metotdur.

List1.RemoveItem List1.ListIndex

Yukarıdaki kod listeden seçili elemanı siler.

Clear

Liste boşaltır.

List1.Clear

ComboBox

Açılır liste kutularıda liste kutuları ile aynı özellik ve metotları paylaşır. 3 değişik görünüm sunarlar; Bu görünümleri style özelliğini kullanarak değiştirebiliriz. Alabilecekleri değerler

0-Dropdown Combo ; İçerisine yazılabilir ComboBox

1-Simple Combo ;TextBox Görünümünde

2-Dropdown List ; Salt okunur ComboBox.

Combo1.Style = 2

Shape

Form üzerine dikdörtgen, kare, elips, çember ve oval çizmek için kullanılır.

Shape

Shape kontrolunun çizeceği şekli belirler.

0: Dikdörtgen

1: Kare

2: Elips

3:Çember

4: Oval Diktörgen

5: Oval Kare

BorderStyle

Nesnenin çerçeve biçimini belirler.

0: Zemin rengiyle uyumlu, görülmez

1: Solid, tam çerçeve

2: Dash, Çizgi

3:Dot, Nokta

4: Dash Dot, Çizgi nokta

5: Dash Dot Dot, Çizgi nokta nokta

6: Inside Solid, Şekil ile çerçeve kenarları çakışık şekilde

BorderWidth

Çerçeve kalınlığını belirler. BorderStyle özelliği Solid ve Inside Solid iken kullanılır.

FillColor

Şeklin iç boyama rengini belirler.

FillStyle

Şeklin içini boyamak için kullanılacak deseni belirler.

Line

Form üzerine çizgi çizmek için kullanılır.

X1, X2, Y1, Y2

X1 ve Y1 başlangıç noktasını X2 ve Y2 ise bitiş noktasını belirler.

DriveListBox

Sürücü listelerini çağırmak için kullanılır. Dizin ve dosya liste kutuları ile birlikte kullanılır. Name dışında önemli tek özelliği Drive’dır.

Drive

Kullanıcının seçmiş olduğu sürücüyü gösterir. Çalışma kipinde kullanılabilir.

Change

En popüler olayıdır. Kullanıcı bir sürücü seçtiğinde gerçekleşir.

DirListBox

Dizinleri listeletmek için kullanılır. Sürücü ve dosya liste kutuları ile birlikte kullanılır.

Path

Gösterilecek dizini ayarlayan özelliğidir. Çalışma kipinde kullanılabilir.

Change

En popüler olayıdır. Kullanıcı bir dizin seçtiğinde gerçekleşir.

 FileListBox

Dosyaları listeletmek için kullanılır. Sürücü ve dizin liste kutuları ile birlikte kullanılır.

FileName

Seçili dosyanın adını verir.

Path

Gösterilecek dosyaların hangi dizin veya sürücüde olduğunu belirler. Çalışma kipinde kullanılır.

Pattern

Hangi dosyaların gösterileceğini belirleyen biir özellikltir. Bir filtre görevi görür. Gösterilecek dosyaların hangi dizin veya sürücüde olduğunu belirler. Çalışma kipinde kullanılır.

Archive

True yada false değerini alabilir. Arşiv dosyalarının görünümünü sağlar. Başlangıç değeri True’dur

Hidden

True yada false değerini alabilir. Gizli dosyalarının görünümünü sağlar. Başlangıç değeri False’dir

ReadOnly

True yada false değerini alabilir. Salt okunur dosyalarının görünümünü sağlar. Başlangıç değeri True’dur

System

True yada false değerini alabilir. Sistem dosyalarının görünümünü sağlar. Başlangıç değeri False’dur

Change

Kullanıcı bir dosya seçtiğinde gerçekleşir.

PathChange

Path değeri değiştiğinde gerçekleşir.

PatternChange

Pattern değeri değiştiğinde gerçekleşir.

 

Yandaki şekilde görüldüğü gibi bir form dizayn edelim. Formumuza bir sürücü listesi, bir dizin listesi, bir dosya listesi ve bir de image denetimi ilave edelim ve bu denetimlerin özelliklerini aşağıdaki gibi değiştirelim sonrada  aşağıda görülen kodu girelim.

 

Nesne             Özellik          Değeri

File1             Pattern  *.bmp;*.wmf;*.ico

Image1  Stretch         True

Image1  BorderStyle  1-Fixed Single

 

Private Sub Drive1_Change()

Dir1.Path = Drive1.Drive

End Sub

 

Private Sub Dir1_Change()

File1.Path = Dir1.Path

End Sub

 

Private Sub File1_Click()

Image1.Picture = LoadPicture(File1.Path & "\" & File1.filename)

End Sub

Drag & Drop

        Drag&Drop olayı bir nesnenin bir yerden başka bir yere sürüklenmesi olayıdır. Bu olayları takip edebilek için Visual Basic bir takım özellik olay ve  yöntem sunar.

Drag Icon

Bir nesne taşınırken alacağı şekli belirler.

Drag Mode

Bu özellik iki  farklı değer alabilir.

0 : vbManual ; Bu durumda kullanıcı bir nesneyi sürükle bırak yaptığında, nesnenin taşınabilmesi için üzerine bırakılan nesnenin DragDrop olayına kod yazılır. Nesneleri taşımak için Drag yönteminden faydalanılır.

1: vbAutomatic; Bu durumda nesne otomatik olarak sürüklenir. Bu yöntem kullanıldığında nesnenin click olayı çalışmaz.

DragMode özelliği manual olarak belirtilmişse kontrollerde Drag olayı, o kontrolun MouseDown olayında Drag metodu ile başlar.

 

Private Sub Text1_MouseDown(Button As Integer,Shift As Integer, X As Single, Y As Single)

'Farenin sol tuşu basılı ise drag olayını başlat

If Button = 1 Then

Text1.Drag

End If

End Sub

 

DragDrop(Source As Control, X As Single, Y As Single)

Taşınan bir nesnenin bir kontrol üzerine bırakılması olayıdır. Bırakma işlemi için kod bu olaya yazılmalıdır.

Source parametresi üzerine bırakılan nesneyi ifade eder. X ve Y parametreleri ise sürüklenen elemanın bırakıldığı kordinatları verir.

DragOver(Source As Control, X As Single, Y As Single, State As Integer)

Taşıma esnasında hedef nesne üzerinden geçerken bu olay meydana gelir.

Source parametresi üzerine bırakılan nesneyi ifade eder. X ve Y parametreleri sürüklenen elemanın bırakıldığı kordinatları verir. State parametresi ise 3 farklı değer alabilir.

0: vbEnter; Taşınan nesne hedef üzerine giriş yaptı

1: vbLeave; Taşınan nesne hedef üzerinden ayrıldı

2: vbOver; Taşınan nesne hedef üzerinde geçiş yapıyor.

 

Selçuk SÖNMEZ & Faruk MALTAŞ

caniminici@kalpsiz.net - fmaltas@hotmail.com

 

GERİ DÖN