it-swarm.it

Il modo migliore per accettare l'input dell'utente di più numeri?

Sto costruendo un'app (molto) piccola WPF che deve accettare l'input dell'utente sotto forma di una serie di numeri.

L'utente inserirà ovunque da 1 a 30 numeri (tutti i numeri a 6 cifre) e quindi facendo clic su un pulsante di tipo "Invia". Questa è l'intera app, niente di più.

Voglio renderlo il più possibile "a basso attrito", mantenendo il numero totale di colpi di tasto e clic sui pulsanti che l'utente deve fare al minimo. E allo stesso tempo, mantenendolo il più intuitivo possibile.

Qual è il modo migliore per accettare questo tipo di input?

L'unica cosa che mi viene in mente è una casella di testo e l'utente digita semplicemente i propri numeri in forma di virgola, ma mi piacerebbe sapere se qualcuno ha una soluzione migliore.

10
Dhaust

Vorrei suggerire una casella di testo che aggiunge elementi a una casella di riepilogo. L'utente dovrebbe quindi essere in grado di aggiungere, modificare e rimuovere dalla casella di riepilogo.

Nella mia esperienza, mentre un insieme di numeri delimitati può essere facile da copiare/incollare da un'applicazione all'altra, non è facile digitare manualmente, specialmente per un massimo di 30 elementi. Al contrario, se i tuoi utenti sono abituati a inserire stringhe delimitate lunghe, consenti alla casella di testo di accettare elementi delimitati, quindi dividi automaticamente i dati e aggiungi ogni elemento alla casella di riepilogo. Ciò consentirà agli utenti esperti di aggiungere più elementi, semplificando al contempo le correzioni trattando l'elenco come singole entità.

12
Nescio

Per mantenere le sequenze di tasti al minimo avere una casella di testo in cui inserire i numeri, ogni volta che si digitano 6 cifre copiare il numero in un elenco e deselezionare la casella di testo, è impossibile scansionare e trovare errori un singolo controllo delimitato da virgole.

Ma ricorda che è davvero impossibile digitare così tanti numeri senza errori:

  • Assicurati che sia facile modificare i numeri che hai già inserito

  • Se esiste un modo per convalidare il numero è corretto, contrassegnare il numero come valido/non valido il più presto possibile.

  • Cerca di fare in modo che l'IU assomigli a qualunque cosa copiano i numeri, se possibile.

  • Mostra i numeri passati in un elenco in caratteri a larghezza fissa (che rende più facile vedere cose come i 15 numeri precedenti hanno tutti un 2 in terza posizione tranne quello, devo averlo scritto male)

  • Test, Test, Test - nel tuo caso è facile, basta misurare il tempo per inserire tutti i numeri e il numero di errori - costruire diversi progetti e vedere cosa funziona meglio, migliorarlo con correzioni basate su ciò con cui gli utenti stanno lottando.

7
Nir

Prova a sviluppare il suggerimento di @ Nescio e rendilo molto efficiente.

Valuta di avere una casella di testo e una casella di riepilogo:

[12____]

 111111
 222222
 333333
*12____*
  • Quando il cursore supera l'ultima cifra nella casella di testo e l'utente digita un'altra cifra: aggiungi la voce nella parte inferiore della casella di riepilogo, cancella la casella di testo e aggiungi quella cifra come la prima.
    • Ad esempio, se 123456 viene inserito e i tipi utente 7, la voce dovrebbe essere aggiunta all'elenco e dovrebbero ottenere 7_____ nella casella di testo.
    • Se digitano Invio, Tab, virgola ecc. Aggiungere la voce e deselezionare la casella di testo.
    • L'utente solo deve inserire le cifre, riducendo al minimo i tasti. Tuttavia, possono ancora utilizzare le sequenze di tasti di delimitazione extra se sono abituati a farlo.
  • Riflettere le modifiche nella voce di elenco corrente mentre l'utente digita. Avere un segnaposto elenco speciale per gli articoli vuoti/nuovi (ad es. L'ultima riga che mostra [ new ]).
  • Se l'utente seleziona un elemento nella casella di riepilogo, riempire la casella di testo. Lascia che inizino immediatamente a digitare per modificarlo (sposta il focus come necessario).
    • Considera di supportare i tasti freccia su/giù per selezionare gli elementi della casella di riepilogo. I tasti dovrebbero funzionare indipendentemente dal punto focale all'interno dell'app.
  • Le interfacce utente non standard aprono molti dettagli sottili che sono fastidiosi se non gestiti correttamente. Testa e sperimenta fino a quando l'interfaccia utente sembra naturale. Inoltre, chiedi a un'altra persona (un collega) di provarlo.

Supporta taglia e incolla se puoi. Gli utenti spesso regolano il flusso di lavoro in modi imprevisti, cercando di non ostacolarli.

2
dbkk

Potresti farlo in due modi.

  1. Crea 30 campi di input con spazio per 6 cifre ciascuno. Quando l'utente ha digitato tutte e 6 le cifre, passa al successivo o utilizza la scheda per passare al successivo.

  2. Crea 1 campo di input e aggiungi un testo che dice "Usa il tasto tab per aggiungere un nuovo set di dati" o qualcosa del genere. Quindi aggiungi un altro campo di input ogni volta che l'utente preme il campo della scheda.

1
ThomPete

Dove ottiene gli utenti i numeri che stanno inserendo nel tuo sistema? Possono copiare/incollare

Se possibile, guarda come funziona la funzione copia/incolla per inserire numeri di serie in alcune app come Adobe e Microsoft. L'utente può copiare una lunga serie di numeri e incollarli in un numero di campi in un colpo solo.

Altrimenti, la risposta di ThomPete funziona abbastanza bene.

0
Tucker