Bu deyim özellikle kullanıcıya belli bir mesaj verme ve kullanıcıdan belli bir yanıtı almak için kullanılır. MsgBox deyimi ile bir mesaj görüntülenir. Bu mesaj sadece mesajda olabilir veya üzerinde onay düğmeleri bulunabilir. Örneğin kullanıcının bir dosyayı kayıt etmesi gerektiğinde “Dosya Kaydedilsin mi?” gibi bir soru olabilir ve msgbox üzerinde de Yes No gibi yanıtlar alınabilir.
MsgBox (“mesaj”, simgeler, “başlık”)
ÖRNEK
1. MsgBox “Visual Basic Dersine Hoşgeldiniz”
2. MsgBox “Prestige Educations Center”
NOT
MsgBox deyimini Form Load yordamına yazılırsa form ekrana yüklendiği anda mesaj penceresi çıkar.
Windows uyumlu programlarda kullanıcıyı uyarmak veya mesaj vermek üzere ekrana getirilen mesaj kutularında Tamam düğmesinden başka düğmeler ve işaretler bulunur. Örneğin Excel ile çalışırken aktif belge kaydedilmeden kapatılmak istenirse, ekrana bir uyarı mesajı çıkar ve size seçme olanağı sunar. Bunun için iki seçenek vardır ve bilgisayarın sizin hangi tuşa bastığınızı anlaması için bir değişkene atamanız gerekmektedir.
ÖRNEK
Dim a
a = MsgBox("Visual Basic Dersine Hoşgeldiniz")
Görüldüğü gibi herhangi bir simge belirtilmezse TAMAM düğmesi belirir. Diğer düğmeleri çıkartmak için aşağıdaki kodlar kullanılır.
Sİmge
|
Değeri
|
Anlamı
|
vbOKOnly
|
0
|
Sadece OK düğmesini gösterir.
|
vbOKCancel
|
1
|
OK ve Cancel düğmesini gösterir.
|
vbAbortRetryIgnore
|
2
|
Durdur, Yeniden dene, Yoksay
|
vbYesNoCancel
|
3
|
Yes, No, Cancel düğmelerini gösterir.
|
vbYesNo
|
4
|
Yes ve No düğmelerini gösterir.
|
vbRetryCancel
|
5
|
Retry ve Cancel düğmelerini gösterir.
|
ÖRNEK
Dim a
a = MsgBox("Visual Basic Dersine Hoşgeldiniz", vbAbortRetryIgnore)
veya
a = MsgBox("Visual Basic Dersine Hoşgeldiniz", 2)
NOT
Mesaj kutusunun içine iki satır mesaj yazmak için Enter tuşunun karşılına gelen ANSI 10 (Chr(10)) karakterini yazmamız gerekir.
ÖRNEK
Dim a
a = MsgBox("Visual Basic Dersine Hoşgeldiniz" & Chr(10) & "ikinci satira geçtim", vbYesNo)
Mesaj pencerelerinde bir de uyarı veya dikkat çekici ek ikonlar mevcuttur. Bunlar da aşağıda gösterilmiştir.
Sİmge
|
Değeri
|
Anlamı
|
vbCritical
|
16
|
X işareti
|
vbQuestion
|
32
|
Soru işareti
|
vbExclamation
|
48
|
Ünlem
|
vbInformation
|
64
|
i enformasyon işareti
|
ÖRNEK
Dim a
a = MsgBox("Değişiklikler kaydedilsin mi?", vbYesNo + vbCritical)
Mesaj pencereleri üzerinde ki düğmelerin bir özelliği de aktif butonu seçme özelliğidir. Bunun için aşağıdaki kodlar yazılır.
Simge
|
Değeri
|
Anlamı
|
vbDefaultButton1
|
0
|
1.düğme aktif olacak
|
vbDefaultButton2
|
256
|
2.düğme aktif olacak
|
vbDefaultButton3
|
512
|
3.düğme aktif olacak
|
vbDefaultButton4
|
7682
|
4.düğme aktif olacak
|
ÖRNEK
Dim a
a = MsgBox("Degisiklikler kaydedilsin mi?", vbYesNo + vbCritical + vbDefaultButton2)
Son olarak mesaj penceresinin başlığını da değiştirebiliriz. Bunun için yazdığımız kodun en sonuna ekleriz.
ÖRNEK
Dim a
a = MsgBox("Degisiklikler kaydedilsin mi?", vbYesNo + vbCritical + vbDefaultButton2, "Kaydet Butonu")
Mesaj düğmesinde hangi düğmenin seçildiğine ilişkin bir değer döndürdüğünü belirlemek için aşağıdaki tablodaki değerler kullanılır.
Sabit Bilgi
|
Değeri
|
Anlamı
|
VbOK
|
1
|
OK düğmesi seçilmiş.
|
vbCancel
|
2
|
Cancel düğmesi seçilmiş.
|
vbAbort
|
3
|
Abort düğmesi seçilmiş.
|
vbRetry
|
4
|
Retry düğmesi seçilmiş.
|
vbIgnore
|
5
|
Ignore düğmesi seçilmiş.
|
vbYes
|
6
|
Yes düğmesi seçilmiş.
|
vbNo
|
7
|
No düğmesi seçilmiş.
|
ÖRNEK
Private Sub Command1_Click()
Dim a, b, c
a = MsgBox("Degisiklikler kaydedilsin mi?", vbYesNo + vbCritical + vbDefaultButton2, "kaydet butonu")
c = 10
If a = vbYes Then
b = c * 10
Else
b = c * 2
End If
Print b
End Sub
Sonuç = yes butonuna basınca 100,
no butonuna basınca 20 olur.
veya,
Dim a, b, c
a = MsgBox("Degisiklikler kaydedilsin mi?", 4 + vbCritical + vbDefaultButton2, "kaydet butonu")
c = 10
If a = 6 Then
b = c * 10
Else
b = c * 2
End If
Print b
Sonuç = yes butonuna basınca 100,
no butonuna basınca 20 olur. |