Programmier-Tipp

.NET-Konzept "Erst anzeigen, dann fragen"

von - 05.08.2022
Foto: B. Lauer
Gemäß dem Motto "Das haben wir schon immer so gemacht" gilt die strikte Reihenfolge: Altes sichern, dann Neues anzeigen. Das ist manchmal aber gar nicht so sinnvoll.
Soll ein neuer Text in eine TextBox geladen werden, ist es Standard, den Anwender zuerst zu fragen, ob er den gegenwärtigen Text überschreiben möchte. In manchen Fällen ist es sinnvoller, den aktuellen Text zwischenzuspeichern, den neuen anzuzeigen und dann erst den Anwender zu fragen, ob er den neuen Text behalten oder lieber zum vorhergehenden zurückkehren möchte. Das erlaubt dem Anwender beispielsweise schnell mal etwas einzusehen und sofort wieder zum vorhergehenden Text zu gelangen – ohne dass man dafür eine weitere TextBox benötigt.
Für den Anwender entfällt dabei der Schritt, den bisherigen Text wieder zu laden, der besonders ärgerlich ist, wenn er nicht genau weiß, wo der bisherige Text zu finden ist. Auch wenn der Anwender beim "neues Anzeigen" versehentlich etwas erwischt, was er gar nicht wirklich sehen wollte, ist das erneute Laden des bisherigen Contents lästig. In der Regel wird diese Problematik dadurch gelöst, dass man mehrere Fenster bereitstellt und der Anwender durch die Fenster "tabben" kann. Für manche Fälle gibt es aber eine sehr viel elegantere Lösung, die mit nur einem Anzeigefenster (hier eine TextBox) arbeitet.
Private Sub abfrageUndAnzeige(
  ByVal yesText As String, ByVal noText As String, ByRef tb As TextBox)

  tb.Text = yesText
  Dim jn As MessageBoxResult
  jn = CType(MsgBox("Änderungen beibehalten?",
       MsgBoxStyle.YesNoCancel), MessageBoxResult)

  If jn <> MessageBoxResult.Yes Then
    tb.Text = noText
  End If
End Sub
Ideal arbeitet diese Lösung zusammen mit einem Konzept, das dafür sorgt, dass der Anwender sich überhaupt nicht mehr um die Vergabe von Namen für die Inhalte seiner TextBox kümmern muss, sondern das Programm das automatisch tut. Angezeigt werden die Inhalte dabei in chronologischer Reihenfolge, beginnend mit dem zuletzt verwendeten Text. Man muss man die Texte dabei freilich einfach durchblättern und durchsuchen können.
Das Konzept "Erst anzeigen, dann fragen" eignet sich für Inhalte, die regelmäßig abgerufen und per Button oder Tastenkürzel bereitgestellt werden, beispielsweise eine kurze Aufgaben-Liste. Der ursprüngliche Inhalt wird dann lediglich im Arbeitsspeicher gesichert, ohne dass der Anwender das mitbekommt. Der neue Inhalt (Beispiel Aufgaben-Liste) wird sofort in die TextBox geladen, angezeigt und der Anwender gefragt, ob er den neuen Inhalt behalten möchte. Wollte er die Liste nur kurz einsehen, wählt er Nein und kann sofort weiterarbeiten. Wählt er Ja, weil er an der Aufgaben-Liste arbeiten möchte, wird der vorhergehende Inhalt automatisch gespeichert. Wichtig ist dabei auch ein Abbrechen-Button, für den Fall dass der Anwender gedanklich nicht bei der Sache war und sich unsicher fühlt. Abbrechen hat dieselbe Wirkung wie ein Nein.
Verwandte Themen