Pregunta

Estoy diseñando un WinForms CRUD " como " Aplicación para un gran grupo de enfermeras y trabajadores sociales para interactuar con la información del cliente.

Hay muchas formas diferentes (alrededor de 30 ish) que necesitan " posiblemente " interactuar con para cualquier cliente dado y " pueden ser " Se requiere saltar de una a otra para una persona específica.

Estoy luchando con el diseño de la interfaz de usuario. Solo he diseñado CRUD de WEBForm lineales muy simples donde haces lo que necesitas en una página y haces clic en siguiente.

¿Qué tiene el sentido de mont para una aplicación WINForm CRUD no lineal?

Comencé por el camino de las pestañas con formularios incrustados en esas pestañas pero, posiblemente debido a mi falta de habilidad, el programa se siente muy voluminoso. No estoy seguro de que el MDI directo sea el camino a seguir, ya que tengo usuarios muy simples que pueden confundirse fácilmente si las ventanas están "ocultas".

Agradecería enormemente cualquier consejo, idea o ejemplo que alguien pueda tener. Especialmente si alguien ha tenido que hacer una aplicación WINForm CRUD ellos mismos.

¿Qué diseño de interfaz de usuario funcionó (o no) para ti?

Un ejemplo de cómo se ve el mío actualmente está aquí - >

DevFiles
¿Fue útil?

Solución

Aquí hay algunos patrones aceptados y algunas veces puedes combinarlos de manera productiva:

  1. TabPages
  2. TreeView (Carpetas de Win Explorer, Herramientas de Visual Studio | Opciones)
  3. paneles colapsados ??(Outlook Correo / Calendario / Contactos)

Los Paneles contraídos no son un control estándar pero hay varias implementaciones disponibles (aquí solo uno )

Y no estás solo, para inspirarte, ve esto SO respuesta .

Otros consejos

Una de las cosas más importantes que he aprendido a través de las aplicaciones de tipo CRUD, es asegurarse de que haya teclas de acceso rápido para casi todos los botones y que el orden de las pestañas esté configurado correctamente.

La mayoría de las veces, cuando está ingresando / modificando datos, no desea dejar las manos fuera del teclado para mover el mouse al botón Enviar / Actualizar, especialmente con grandes volúmenes de datos para trabajar . Tener estos dos elementos en orden mejorará en gran medida la productividad de la aplicación.

Descargo de responsabilidad: he estado haciendo CRUDs porque no sé por cuánto tiempo, pero acabo de comenzar con mi primera aplicación Winforms.

Por lo tanto, algunas ideas mixtas:

En nuestro sistema actual (escrito usando Centura / Gupta) usamos un enfoque similar a MDI. Creo que es importante permitir que el usuario comience a trabajar en un nuevo registro sin obligarlo a cerrar su trabajo actual, por lo que siempre se muestra una lista de ventanas abiertas para permitir un cambio rápido entre las diferentes formas. Ejemplo:

texto alternativo ??
(fuente: pingmbh.de )
Lista de ventanas abiertas en la parte inferior izquierda. Además, este sistema hace posible abrir un registro desde dentro de otro, por ejemplo. abra un cliente, muestre los pedidos de este cliente, haga doble clic en uno de sus pedidos para abrirlo y así sucesivamente.

Ahora acerca de las formas de victoria: después de investigar un poco, decidí usar MDI y, en cambio, utilizo un formulario que contiene algunos contenedores de distribución. Uno de los paneles de este contenedor muestra una lista de ventanas abiertas, otro muestra el formulario actual. Como no encontré una forma de mostrar un Formulario en un panel, los formularios se realizan como controles de usuario. El formulario principal realiza un seguimiento de las ventanas abiertas y las muestra en la lista de ventanas. Si el usuario hace clic en una ventana de la lista, o abre el mismo registro desde otro lugar en el programa, el panel correspondiente se coloca en primer plano. Imagen de una obra en progreso: texto alternativo ??
(fuente: pingmbh.de )
Considere separar la selección de registros existentes de la edición de estos registros, es decir, muestre los registros existentes en algún tipo de tabla (como una vista de cuadrícula) con capacidades de búsqueda y filtro y deje que el usuario haga doble clic en estos registros para editarlos.

Noté en tu captura de pantalla que tienes botones para " Insertar " y " Actualizar " ;. ¿Esto es para crear nuevos registros y guardar registros existentes? Creo que un mejor enfoque es dar al usuario un " Nuevo " botón, luego abra un formulario que tiene " guardar " y " cancelar " botones. Es posible que el usuario no recuerde siempre si comenzó a editar un registro nuevo o existente.

La pantalla de selección por cierto es un buen lugar para el " nuevo registro " botón.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top