VB: Annuleren op Inputbox

V. Is er een manier om te weten of de gebruiker op OK of op Annuleren drukt? In beide gevallen is het resultaat een lege string, maar ik wil in mijn VB programma het annuleren apart opvangen.

A. Ja, er zijn wel wat mogelijkheden.

  • In VBA en VB6 kan je een stringpointer gebruiken (http://cuinl.tripod.com/Tips/inputbox.htm). Als die nul is is, heeft de gebruiker op Annuleren gedrukt. Maar er is geen stringpointer in .NET.
  • In VBA kan je Application.Inputbox gebruiken. De geeft False bij annuleren. http://www.mrexcel.com/forum/showthread.php?t=35206
  • In .NET kan je een eigen Inputbox bouwen.
  • De meest elegante oplossing is deze: geeft een spatie mee als standaardinvoer, en als het resultaat leeg is, heeft de gebruiker op Annuleren gedrukt.
            Select Case InputBox("Geef je invoer of druk op Annuleren", "Testen op annuleren", " ")
                Case " "
                    MsgBox("Op OK geklikt")
                Case ""
                    MsgBox("Op Annuleren geklikt")
                Case Else
                    MsgBox("Iets ingevoerd")
            End Select