My favorites | Sign in
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
Formularios  
Detalles de implementación de los Formularios Windows
Phase-Implementation, Featured
Updated Feb 4, 2010 by sergi.gi...@gmail.com

Introducción

Resumen de los detalles de implementación de los formularios de la aplicación Windows.

Checklist con las características deseadas a implementar en cada formulario.

Funcionamiento

Integramos la navegación, la búsqueda y la ficha de los registros en un único formulario.

No utilizamos el control BindingNavigator para navegar registro a registro.

Esquema del formulario:

  1. Paginador
  2. Grid
  3. Botones de Modo (toolStrip)
    1. label:Modo trabajo
    2. Insertar
    3. Editar
    4. Eliminar
    5. Buscar
    6. Separator
    7. label:Desactivar búsqueda
  4. Formulario detalles
    1. Aceptar (form.AcceptButton)
    2. Cancelar (form.CancelButton)
    3. Editores correspondientes
  5. No visible
    1. BindingSource
    2. ErrorProvider
    3. toolStrip
    4. toolTip
    5. contextMenu

Modos de Funcionamiento

Implementamos un tipo enumerado para identificador el modo del formulario, ubicado en la clase utils.cs:

public enum eEstadoForm
{
    Navegar,
    Insertar,
    Editar,
    Buscar
}
  • Navegación

Control Activo
Insertar SI
Editar SI
Eliminar SI
Buscar SI
Grid SI
Aceptar NO
Cancelar NO

En la ficha se va mostrando el registro seleccionado en el Grid.

No permitir las ediciones directas en el grid. Con doble-click sobre un registro, pasamos al modo de Edición.

Tenemos un menú contextual sobre el grid con las opciones de Edición y Eliminación.

  • Insertar

Control Activo
Insertar NO
Editar NO
Eliminar NO
Buscar NO
Grid NO
Aceptar SI
Cancelar SI

Se validan los campos obligatorios y se utiliza el control ErrorProvider para indicar si alguna validación no ha tenido éxito.

Al insertar un registro, se muestra un tooltip si la inserción ha tenido éxito, o un alert si ha fallado, se limpian los campos y se queda activo el modo de inserción para permitir insertar un nuevo registro.

El botón Cancelar vuelve al modo de navegación.

  • Editar

Control Activo
Insertar NO
Editar NO
Eliminar NO
Buscar NO
Grid NO
Aceptar SI
Cancelar SI

Se validan los campos obligatorios y se utiliza el control ErrorProvider para indicar si alguna validación no ha tenido éxito.

Al editar un registro, se muestra un tooltip si la modificación ha tenido éxito, o un alert si ha fallado, y volvemos al modo de navegación.

El botón Cancelar vuelve al modo de navegación.

  • Buscar

Control Activo
Insertar NO
Editar SI
Eliminar SI
Buscar NO
Grid SI
Aceptar NO
Cancelar SI

Guardamos los campos de búsqueda en caché para recuperarla después de una edición de un registro filtrado.

Se muestra un enlace en la barra de herramientas para indicar que el listado está filtrado, que al pulsarlo cancela la búsqueda.

El botón Cancelar limpia la búsqueda y vuelve al modo de Navegación.

Opciones de búsqueda:

  1. Utilizar el botón de Aceptar para lanzar la búsqueda de los textos introducidos.
  2. Ir realizando búsquedas con cada pulsación de tecla.

Checklist

Lista para comprobar que tenemos implementados todos los detalles de funcionamiento y usabilidad de los formularios:

  • Botones por defecto del formulario: form.AcceptButton = Aceptar y form.CancelButton = Guardar
  • No permitir que se modifique el tamaño de los formularios: MaximizeBox = false, MinimizeBox = false y FormBorderStyle = FixedSingle
  • Comprobar el orden de tabulación de los controles.
  • Añadir la imagen del asterisco para los campos obligatorios, con un tooltip que indique "Campo obligatorio"
  • Utilizar ErrorProvider para marcar los campos que no cumplen la validación.
  • Utilizar un ToolTip para indicar que la operación que ha realizado el usuario (edición / inserción), ha tenido éxito.
  • Añadir atajos de teclado a los botones de la barra de herramientas:
    • &Insertar -> Alt+I
    • &Editar -> Alt+E
    • E&liminar -> Alt+L
    • &Buscar -> Alt+B
  • Añadir menú emergente al grid con las acciones de Edición y Eliminación (grid.ContextMenuStrip = contextMenu).
  • Doble-Click en el grid para editar directamente (grid.DoubleClick).
  • Permitir la eliminación de los registros seleccionados con la tecla de Suprimir (grid.UserDeletingRow).
    • Este evento se lanza una vez por cada fila seleccionada. Comprobar que hemos implementado el control de esto.
    • Cancelar siempre este evento, ya que el borrado lo hacemos nosotros y puede fallar al intentar eliminar una fila que ya no existe.
  • Configurar el grid para que se seleccione la fila completa (grid.SelectionMode = FullRowSelect) y avisar que no puede modificarse (grid.ReadOnly = true).
  • Limitar los campos de texto al número máximo de caracteres que permite la BD
  • Los botones "Guardar" y "Cancelar" deben tener por defecto enabled a false.
  • Comprobar que al cancelar una edición, el grid recupera los valores originales
  • Los editores de la ficha deben estar por defecto con readonly a true.
  • El DataBinding de los editores de la ficha debe estar correctamente enlazado.
  • Los "hint" de los botones de modo y aceptación deben ser iguales en los formularios.
  • Indicar el icono de la aplicación.
Powered by Google Project Hosting