Naar inhoud springen

Visual Basic/MessageBox

Uit Wikibooks

Visual Basic

Inhoudsopgave
  1. Inleiding grafische elementen
  2. Labels
  3. MessageBox
  4. ComboBox

Wat is een MessageBox?

[bewerken]

Een messageBox is een apart venster dat op commando getoond wordt. Het venster bevat een kopregel, een icoontje, een tekst en één of meer knoppen.

Een messageBox wordt onder andere gebruikt in de volgende gevallen:

  • melden van een fout
  • vragen of een bepaalde actie wel of niet moet worden uitgevoerd

Als de gebruiker op één van de knoppen klikt, wordt de MessageBox gesloten. Het programma kan daarna testen welke knop is aangeklikt.

Een MesssageBox kun je niet in de Designer gebruiken en wordt pas aangemaakt als het programma loopt.

Tonen van een MessageBox

[bewerken]

Een MessageBox wordt op het scherm getoond door de methode Show aan te roepen. De methode Show heeft één vaste parameter en maximaal drie optionele parameters. De volledige vorm is:

Messagebox.Show(tekst, kopregel, knoppen, icoon)

Een MessageBox geeft altijd een resultaat terug. Daarom moet je altijd een variabele declareren van het type DialogResult, waarin het resultaat wordt opgeslagen (zie hieronder).
Een MessageBox wordt op het scherm getoond door de methode Show aan te roepen. De meest gebruikte vorm is:

Dim resultaat As DialogResult
resultaat = MessageBox.Show(tekst, kopregel, knoppen, icoon)

De verschillende parameters hebben de volgende betekenis:

tekst De tekst die in de MessageBox getoond wordt
kopregel de tekst dit in de titelbalk van de MessageBox getoond wordt
knoppen een waarde van het type MessageBoxButton (zie hieronder)
icoon een waarde van het type MessageBoxIcon (zie hieronder)

De knoppen van een MessageBox

[bewerken]

In de aanroep van de MessageBox kun je aangeven welke knop of knoppen getoond moeten worden. Dit gebeurt in het volgende formaat:

MessageBoxButton.xxx

Hierbij kan xxx de volgende tekst zijn:

Tekst Betekenis
OK één knop met de tekst OK
OKCancel twee knoppen met de teksten OK en Cancel
YesNo twee knoppen met de teksten Yes en No
YesNoCancel drie knoppen met de teksten Yes, No en Cancel
RetryCancel twee knoppen met de teksten Retry en Cancel
AbortRetryIgnore drie knoppen met de teksten Abort, Retry en Ignore

Het icoon van de MessageBox

[bewerken]

In de aanroep van de MessageBox kun je aangeven wel icoon vóór de tekst getoond moet worden. Dit gebeurt in het volgende formaat:

MessageBoxIcon.xxx

Hierbij kan xxx de volgende tekst zijn (vaak heb je de keuze uit meerdere teksten):

Tekst Icoon Betekenis
Asterisk
Information
een ballon met uitroepteken om de gebruiker ergens over te informeren
Error
Hand
Stop
een cirkel met een kruis erin bij een fout of de dreiging van een fout
Exclamation
Warning
een driehoek met een uitroepteken om de gebruiker ergens voor te waarschuwen
None geen icoon
Question een ballon met een vraagteken er wordt een vraag gesteld aan de gebruiker

Het resultaat van de methode Show

[bewerken]

Als je meerdere knoppen in je MessageBox hebt, wil je natuurlijk weten welke knop is aangeklikt. Daarom geeft de methode een resultaat terug. Deze heeft de volgende waarde:

DialogResult.xxx

Hierbij kan xxx de volgende tekst hebben:

Tekst(en) Betekenis
None er is (nog) geen waarde teruggegeven; de MessageBox is nog niet gesloten
OK OK aangeklikt
Cancel Cancel aangeklikt
Abort Abort aangeklikt
Retry Retry aangeklikt
Ignore Ignore aangeklikt
Yes Yes aangeklikt
No No aangeklikt

Voorbeelden MessageBox

[bewerken]

Je kunt het resultaat van een MessageBox direct testen in een If-instructie of eerst opslaan in een variabele. De laatste mogelijkheid is de enige mogelijkheid als je drie knoppen hebt.

In dit voorbeeld wordt alleen een OK-knop gebruikt en hoef je het resultaat niet te gebruiken.

Messagebox.Show("De berekening is uitgevoerd", "Klaar", MessageBoxButtons.OK, MessageBoxIcon.Information)

In het volgende voorbeeld worden zowel de Yes- als No-knop gebruikt. Omdat er maar twee mogelijkheden zijn, kun je een If-instructie gebruiken:

If MessageBox.Show("Wilt u dit gegeven verwijderen?", "Verwijderen", MessageBoxButtons.YesNo, _
  MessageBoxIcon.Question) = DialogResult.Yes Then
    ' verwijder gegeven
End If

In het volgende voorbeeld worden de knoppen Yes, No en Cancel gebruikt. Ook wordt de vierde parameter weggelaten, waardoor er geen icoon wordt getoond:

Dim resultaat As DialogResult
resultaat = MessageBox.Show("Wat wilt u?", "Keuze", MessageBoxButtons.YesNoCancel)
If resultaat = DialogResult.Yes Then
  'verwerk Yes
End If
If resultaat = DialogResult.No Then
  ' verwerk No
End If
If resultaat = Dialog.Result.Cancel Then
  ' verwerk Cancel
End If
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.