it-swarm-es.com

¿La mejor manera de aceptar la entrada del usuario de múltiples números?

Estoy creando una aplicación WPF (muy) pequeña que necesita aceptar la entrada del usuario en forma de una serie de números.

El usuario ingresará entre 1 y 30 números (todos los números de 6 dígitos) y luego hará clic en el botón de tipo 'Enviar'. Esa es toda la aplicación, nada más.

Quiero hacer esto lo más bajo posible, manteniendo el número total de pulsaciones de teclas y clics que el usuario debe hacer al mínimo. Y al mismo tiempo, manteniéndolo lo más intuitivo posible.

¿Cuál es la mejor manera de aceptar este tipo de entrada?

Lo único en lo que puedo pensar es en un cuadro de texto y el usuario simplemente escribe sus números en forma separada por comas, pero me encantaría saber si alguien tiene una mejor solución.

10
Dhaust

Sugeriría un cuadro de texto que agrega elementos a un cuadro de lista. El usuario debería poder agregar, editar y eliminar del cuadro de lista.

En mi experiencia, aunque un conjunto delimitado de números puede ser fácil de copiar/pegar de una aplicación a otra, no es fácil de escribir manualmente, especialmente para hasta 30 elementos. Por el contrario, si sus usuarios están acostumbrados a ingresar cadenas delimitadas largas, permita que el cuadro de texto acepte elementos delimitados, luego divida automáticamente los datos y agregue cada elemento al cuadro de lista. Esto permitirá a los usuarios experimentados agregar múltiples elementos, al tiempo que simplificará las correcciones al tratar la lista como entidades individuales.

12
Nescio

Para mantener las pulsaciones de teclado al mínimo, tenga un cuadro de texto donde ingrese los números, cada vez que escriba 6 dígitos copie el número en una lista y borre el cuadro de texto, es imposible escanear un solo control delimitado por comas y encontrar errores.

Pero, recuerda que es realmente imposible escribir tantos números sin errores, así que:

  • Asegúrese de que sea fácil editar los números que ya ingresó

  • Si hay una manera de validar que el número es correcto, marque el número como válido/inválido lo antes posible.

  • Intenta hacer que la IU se parezca a lo que sea que estén copiando los números si es posible.

  • Muestre números pasados ​​en una lista en fuente de ancho fijo (eso hace que sea más fácil ver cosas como los 15 números pasados, todos tienen un 2 en la tercera posición, excepto ese, debo haberlo escrito mal)

  • Prueba, prueba, prueba: es fácil en su caso, solo mida el tiempo para ingresar todos los números y la cantidad de errores: cree varios diseños y vea qué funciona mejor, mejore eso con soluciones basadas en lo que los usuarios están luchando.

7
Nir

Intenta desarrollar la sugerencia de @ Nescio y hazla muy eficiente.

Considere tener un cuadro de texto y un cuadro de lista:

[12____]

 111111
 222222
 333333
*12____*
  • Cuando el cursor pasa el último dígito en el cuadro de texto y el usuario escribe otro dígito: agregue la entrada en la parte inferior del cuadro de lista, borre el cuadro de texto y agregue ese dígito como el primero.
    • Por ejemplo, si 123456 se ingresa y el usuario escribe 7, la entrada debe agregarse a la lista y deben obtener 7_____ en el cuadro de texto.
    • Si escriben Enter, Tab, coma, etc., agregue la entrada y borre el cuadro de texto.
    • El usuario solo necesita ingresar los dígitos, minimizando las pulsaciones de teclas. Sin embargo, aún pueden usar teclas de delimitación adicionales si están acostumbrados a hacerlo.
  • Refleje los cambios en el elemento del cuadro de lista actual mientras el usuario escribe. Tenga un marcador de posición de lista especial para elementos vacíos/nuevos (por ejemplo, la última fila que muestra [ new ]).
  • Si el usuario selecciona un elemento en el cuadro de lista, complete el cuadro de texto. Permítales comenzar a escribir inmediatamente para editarlo (cambie el foco según sea necesario).
    • Considere la posibilidad de apoyar las teclas de flecha arriba/abajo para seleccionar elementos del cuadro de lista. Las teclas deberían funcionar sin importar dónde esté el foco dentro de la aplicación.
  • Las interfaces de usuario no estándar abren muchos detalles sutiles que son molestos si no se manejan correctamente. Pruebe y experimente hasta que la IU se sienta natural. Además, pídale a otra persona (un compañero de trabajo) que lo pruebe.

Admite cortar y pegar si puedes. Los usuarios a menudo ajustan su flujo de trabajo de formas imprevistas, intenta no obstaculizarlos.

2
dbkk

Podrías hacer esto de dos maneras.

  1. Cree 30 campos de entrada con espacio para 6 dígitos en cada uno. Cuando el usuario ha ingresado los 6 dígitos, salta al siguiente o usa la pestaña para saltar al siguiente.

  2. Cree 1 campo de entrada y agregue un texto que diga "Usar la tecla de tabulación para agregar un nuevo conjunto de datos" o algo así. Y luego agregue otro campo de entrada cada vez que el usuario empuje el campo de la pestaña.

1
ThomPete

¿Dónde obtiene el usuario los números que está ingresando en su sistema? ¿Pueden copiar/pegar?

Si eso es posible, investigue cómo funciona la función copiar/pegar para ingresar números de serie en algunas aplicaciones como Adobe y Microsoft. El usuario puede copiar una larga cadena de números y pegarlos en varios campos de una sola vez.

De lo contrario, la respuesta de ThomPete funciona bastante bien.

0
Tucker