it-swarm-eu.dev

Beste Möglichkeit, Benutzereingaben mit mehreren Zahlen zu akzeptieren?

Ich baue eine (sehr) kleine WPF-App, die Benutzereingaben in Form einer Reihe von Zahlen akzeptieren muss.

Der Benutzer gibt 1 bis 30 Zahlen (alle 6-stelligen Zahlen) ein und klickt dann auf die Schaltfläche "Senden". Das ist die ganze App, nichts weiter.

Ich möchte dies so reibungslos wie möglich gestalten und die Gesamtzahl der Tastenanschläge und Tastenklicks, die der Benutzer ausführen muss, auf ein Minimum beschränken. Und gleichzeitig so intuitiv wie möglich zu halten.

Was ist der beste Weg, um diese Art von Eingabe zu akzeptieren?

Das einzige, was mir einfällt, ist ein Textfeld, und der Benutzer gibt seine Zahlen einfach in durch Kommas getrennter Form ein, aber ich würde gerne hören, ob jemand eine bessere Lösung hat.

10
Dhaust

Ich würde ein Textfeld vorschlagen, das einem Listenfeld Elemente hinzufügt. Der Benutzer sollte dann in der Lage sein, das Listenfeld hinzuzufügen, zu bearbeiten und daraus zu entfernen.

Nach meiner Erfahrung ist es zwar einfach, einen begrenzten Satz von Zahlen von einer Anwendung in eine andere zu kopieren/einzufügen, es ist jedoch nicht einfach, ihn manuell einzugeben, insbesondere für bis zu 30 Elemente. Wenn Ihre Benutzer dagegen daran gewöhnt sind, lange begrenzte Zeichenfolgen einzugeben, lassen Sie das Textfeld begrenzte Elemente akzeptieren, teilen Sie die Daten automatisch auf und fügen Sie jedes Element dem Listenfeld hinzu. Auf diese Weise können erfahrene Benutzer mehrere Elemente hinzufügen und Korrekturen vereinfachen, indem die Liste als einzelne Entitäten behandelt wird.

12
Nescio

Um die Tastenanschläge auf ein Minimum zu beschränken, haben Sie ein Textfeld, in das Sie die Zahlen eingeben. Jedes Mal, wenn Sie 6 Ziffern eingeben, kopieren Sie die Zahl in eine Liste und löschen Sie das Textfeld. Es ist unmöglich, ein einzelnes durch Kommas getrenntes Steuerelement zu scannen und Fehler zu finden.

Aber denken Sie daran, dass es wirklich unmöglich ist, so viele Zahlen ohne Fehler einzugeben:

  • Stellen Sie sicher, dass es einfach ist, bereits eingegebene Nummern zu bearbeiten

  • Wenn es eine Möglichkeit gibt, die Nummer zu überprüfen, markieren Sie die Nummer so schnell wie möglich als gültig/ungültig.

  • Versuchen Sie, die Benutzeroberfläche so zu gestalten, wie sie die Zahlen kopiert, wenn möglich.

  • Zeigen Sie vergangene Zahlen in einer Liste in fester Schriftbreite an (das macht es einfacher, Dinge wie die 15 vergangenen Zahlen zu sehen, alle haben eine 2 an der 3. Position, außer dieser, ich muss sie falsch eingegeben haben).

  • Test, Test, Test - in Ihrem Fall ist es einfach, messen Sie einfach die Zeit für die Eingabe aller Zahlen und die Anzahl der Fehler - erstellen Sie mehrere Designs und sehen Sie, was am besten funktioniert. Verbessern Sie dies mit Korrekturen, die auf den Problemen der Benutzer basieren.

7
Nir

Versuchen Sie, auf den Vorschlag von @ Nescio aufzubauen und ihn sehr effizient zu gestalten.

Erwägen Sie ein Textfeld und ein Listenfeld:

[12____]

 111111
 222222
 333333
*12____*
  • Wenn sich der Cursor hinter der letzten Ziffer im Textfeld befindet und der Benutzer eine weitere Ziffer eingibt: Fügen Sie den Eintrag am unteren Rand des Listenfelds hinzu, löschen Sie das Textfeld und fügen Sie diese Ziffer als erste hinzu.
    • Wenn beispielsweise 123456 Eingegeben ist und der Benutzer 7 Eingebt, sollte der Eintrag zur Liste hinzugefügt werden und er sollte 7_____ In das Textfeld erhalten.
    • Wenn sie Enter, Tab, Komma usw. eingeben, fügen Sie den Eintrag hinzu und deaktivieren Sie das Textfeld.
    • Der Benutzer nur muss die Ziffern eingeben, um Tastenanschläge zu minimieren. Sie können jedoch weiterhin zusätzliche abgrenzende Tastenanschläge verwenden, wenn sie daran gewöhnt sind.
  • Reflektieren Sie die Änderungen im aktuellen Listenfeldelement, während der Benutzer sie eingibt. Haben Sie einen speziellen Listenplatzhalter für leere/neue Elemente (z. B. letzte Zeile mit [ new ]).
  • Wenn der Benutzer ein Element im Listenfeld auswählt, füllen Sie das Textfeld aus. Lassen Sie sie sofort mit der Eingabe beginnen, um sie zu bearbeiten (Fokus nach Bedarf verschieben).
    • Ziehen Sie in Betracht, Pfeiltasten nach oben/unten für die Auswahl von Listenfeldelementen zu unterstützen. Die Tasten sollten funktionieren, unabhängig davon, wo sich der Fokus in der App befindet.
  • Nicht standardmäßige Benutzeroberflächen eröffnen viele subtile Details, die ärgerlich sind, wenn sie nicht richtig behandelt werden. Testen und experimentieren Sie, bis sich die Benutzeroberfläche natürlich anfühlt. Bitten Sie auch eine andere Person (einen Mitarbeiter), es auszuprobieren.

Unterstützen Sie Ausschneiden und Einfügen, wenn Sie können. Benutzer passen ihren Workflow häufig auf unvorhergesehene Weise an und versuchen, sie nicht zu behindern.

2
dbkk

Sie können dies auf zwei Arten tun.

  1. Erstellen Sie 30 Eingabefelder mit Platz für jeweils 6 Ziffern. Wenn der Benutzer alle 6 Ziffern eingegeben hat, springen Sie zur nächsten oder verwenden Sie die Registerkarte, um zur nächsten zu springen.

  2. Erstellen Sie ein Eingabefeld und fügen Sie einen Text mit der Aufschrift "Verwenden Sie die Tabulatortaste, um einen neuen Datensatz hinzuzufügen" oder ähnliches hinzu. Fügen Sie dann jedes Mal ein weiteres Eingabefeld hinzu, wenn der Benutzer auf das Registerkartenfeld drückt.

1
ThomPete

Woher bekommt der Benutzer die Zahlen, die er in Ihr System eingibt? Können sie kopieren/einfügen?

Wenn dies möglich ist, prüfen Sie, wie die Funktion zum Kopieren/Einfügen für die Eingabe von Seriennummern in einigen Apps wie Adobe und Microsoft funktioniert. Der Benutzer kann eine lange Folge von Zahlen kopieren und auf einen Schlag in eine Reihe von Feldern einfügen.

Ansonsten funktioniert die Antwort von ThomPete recht gut.

0
Tucker