vtortola

70-526 Resumen 6/8: Funcionalidades avanzadas y usabilidad en Windows Forms.

Sexto resumen de 8 del temario para el examen 70-526 de la certificación MCTS Windows Applications 2.0. Esta, es una de las nuevas certificaciones Microsoft para .NET 2.0.

Desde mi punto de vista, lo más interesante del temario sobre "Win Apps". Muchas de las cosas son pautas que se deberían tener en cuenta siempre, sobre todo la globalización y la accesbilidad

Engloba el tema 11.Advanced Topics in Windows Forms y 12.Enhancing Usability del libro oficial de Microsoft.

Arrastrar y soltar (Drag and Drop):

· Arrastrar y colocar en Windows Forms.

· Las operaciones de “arrastrar y soltar” se inician llamando al método DoDragDrop en el control que inicia la acción, se suele hacer normalmente en el manejador del evento MouseDown de dicho control. Dicho método toma dos parámetros, un objeto que contiene los datos que serán “arrastrados y soltados” y otro parámetro DragDropEffects que indica que efectos son permitidos.

· La enumeración DragDropEffects representa el efecto ó efectos en una operación de arrastrar y soltar.

· Los eventos GiveFeedBack y QueryContinueDrag son disparados en el control origen en este punto. El primero, permite personalizar el puntero del ratón con una forma personalizada y el segundo, podría usarse para decidir si continuar ó abortar la operación.

· El control destino debe tener como True la propiedad AllowDrop. Cuando se da esta condición al arrastrar datos a él, se dispara en el destino el evento DragEnter.

· El evento DragEnter en el control destino se usa para indicar los efectos permitidos en dicho control destino. Puedes examinar los datos en la propiedad DragEventArgs.Data que existen en el manejador del evento DragEnter y determinar si los datos son apropiados para el control. Puedes abortar la operación fijando DragEventArgs.Effect a None.

· La operación se completa en el evento DragDrop del control destino.Aquí, debe escribirse el código que complete la operación a alto nivel (añadir los datos a un ListView … realizar otra operación Query … etc… ).

· Los datos pueden ser arrastrados y soltados entre controles de diferentes aplicaciones. No hace falta ningún paso adicional para ello.

· Esta operación en un control TreeView comienza llamando al método DoDragDrop en el manejador del evento TreeView.ItemDrag. El resto del proceso es similar.

Globalización y localización:

· Globalizar y localizar aplicaciones.

· Remember 70-536: Globalización, gráficos y texto.

· Globalización: se refiere a cuestiones de formateado de datos, por ejemplo, la separación de decimales, miles ó los símbolos monetarios.

· Localización: se refiere a cuestiones relacionadas con el lenguaje de la aplicación, como el idioma ó la dirección del texto, mostrando unos textos u otros en función del lenguaje en cuestión.

· Cuando se habla de cultura, se habla de la información cultural en el país ó región en el cual la aplicación se desarrolla y está representada por un código.

· CurrentCulture hace referencia a la cultura que será usada para formatear los datos de la aplicación. Utilizar la propiedad CurrentCulture.

· CurrentUICulture hace referencia a la cultura que será usada para determinar qué recursos de localización serán usados. Utilizar la propiedad CurrentUICulture.

· Los formularios localizados, pueden crearse ajustando la propiedad Localizable a True y configurando la propiedad Language a una lengua distinta de la Default. Una nueva copia del formulario es creada para esta cultura y se le pueden añadir recursos localizados.

· Se puede mostrar la información de derecha a izquierda en un control ajustando la propiedad RightToLeft a True. Puedes invertir la distribución de todos los controles de un formulario ajustando las propiedades Form.RightToLeftLayout y Form.RightToLeft a True.

Formularios MDI (Multiple Document Interface):

· Aplicaciones MDI.

· Las aplicaciones MDI siguen un modelo padre/hijo. Un formulario padre contiene y organiza múltiples formularios hijos. Se pueden crear un formulario padre ajustando la propiedad Form.IsMdiContainer a True. Los formularios hijos son creados asignando la propiedad Form.MdiParent a un formulario padre apropiado.

· El formulario padre tiene métodos y propiedades que le permiten la organización de sus formularios hijos. Se puede obtener cual es el formulario hijo activo mediante la propiedad Form.ActiveMdiChild del formulario padre. Los formularios hijos pueden ser agrupados en el formulario padre usando el método Form.LayoutMdi de este.

· Puedes crear una lista de menú con los formularios hijos ajustando la propiedad MenuStrip.MdiWindowListItem a un ToolStripMenuItem. En tiempo de ejecución, el menú automáticamente mostrará los formularios hijos.

Accesibilidad:

· Accesibilidad en Windows Forms.

· Las aplicaciones deberían ser diseñadas para cumplir los principios de la accesibilidad, incluyendo flexibilidad, elección de métodos de entrada y/ó salida, consistencia y compatibilidad con las ayudas a la accesibilidad.

· Las aplicaciones deberían cumplir con la configuración estándar del sistema donde se ejecutan, de esta forma, las ayudas como la modificación del esquema de colores por uno de alto contraste ó el aumento del tamaño de las fuentes afectarán también a nuestra aplicación.

· Las aplicaciones accesibles deberían ser diseñadas teniendo en cuenta varias fuentes de entrada, incluyendo accesos de teclado (Hotkeys) bien documentados.

· Siempre que se emita un aviso sonoro, ha de ir acompañado de un mensaje informativo.

· Cada control tiene varias propiedades referentes a la accesibilidad que son usadas por las ayudas a la accesibilidad para obtener y mostrar información. Puedes configurar las propiedades de accesibilidad en tiempo de diseño en la ventana Propiedades del diseñador en Visual Studio.

Asistencia al usuario:

· Integrar ayuda al usuario en Windows Forms.

· El control PropertyGrid permite configurar las propiedades de un objeto en la aplicación mediante una interfaz tabular. La propiedad SelectedObject indica el objeto cuyas propiedades se pueden ajustar.

· El control ProgressBar informa al usuario del progreso de una tarea. Las propiedades ProgressBar.Minimun y ProgressBar.Maximun representan las dos cotas y ProgressBar.Value el valor actual.

· El control StatusStrip es un control ToolStrip que esta diseñado para mostrar información sobre el estado de la aplicación. Controles como ToolStripStatus y ToolStripProgressBar son controles de tipo ToolStripItem que están diseñados para combinarlos en StatusStrip.

· El componente ToolTip permite mostrar tooltips en los controles del formulario.

· El componente ErrorProvider permite mostrar errores in los controles de entrada de datos de la aplicación. Puedes validar la entrada del usuario añadiendo código en el manejador de eventos de Validating y si los datos no son válidos, usa el método ErrorProvider.SetError para mostrar un error.

· El componente HelpProvider permite integrar un archivo de ayuda “HTML Help 1.x” (.chm y .htm) con tu aplicación. La propiedad HelpNamespace representa la ubicación del archivo de ayuda asociado con el componente HelpProvider. Se puede llamar a HelpProvider.ShowHelp ó configurar ‘F1’ como SetHelpKeyword para mostrar la ayuda.

· El componente SoundPlayer te permite reproducir sonidos. Puedes usar la clase SystemSounds para reproducir sonidos en tiempo de ejecución.

· El componente Timer permite ejecutar acciones en intervalos regulares. El método que maneja el evento Timer.Tick se ejecutará en intervalos regulares definidos por la propiedad Timer.Interval.

· Los controles HScrollBar y VScrollBar están diseñados para proveer una interfaz que permite acceso rápido a un largo rango de valores en una lista de opciones.

· Los ajustes de aplicación permiten que estos persistan entre sesiones de usuario. Los ajustes de ámbito de aplicación son de solo lectura y los de ámbito de usuario de lectura/escritura en tiempo de ejecución. Administrar la configuración de la aplicación.

 

CrossPosting desde vtortola.NET
70-526 Resumen 6/8: Funcionalidades avanzadas y usabilidad en Windows Forms.