Introducción al desarrollo de aplicaciones de escritorio con .NET (página 2)
Enviado por Pablo Turmero
Controles de Windows (3/3) DataGridView Es una versión mejorada del DataGrid control de NET 1.1 con funcionalidad de modo “Virtual”. Permite enlazar datos originados en una Base de Datos a medida que se necesitan. TreeView Utilizando la nueva propiedad DrawMode es posible sobreescribir la manera en que el sistema operativo “dibuja” cada nodo del árbol. DataGridView
Controles Contenedores Algunos controles como el propio Form, Panel o GroupBox heredan de la clase ContainerControl en lugar de hacerlo directamente de Control. Por este motivo, poseen una colección mediante la que se puede acceder a los controles que contiene. Sólo se puede acceder a los controles de nivel superior, no a todos los controles contenidos.
Menú (1/2) El nuevo control MenuStrip provee un sistema de menú para un formulario. MenuStrip es contenedor de objetos como ToolStripMenuItem, ToolStripComboBox, ToolStripSeparator, ToolStripTextBox. El control ContextMenuStrip representa un menú que será mostrado al usuario cuando presione el botón derecho del mouse. También puede contener los mismos controles que MenuStrip. Las propiedades MergeAction y MergeIndex del objeto ToolStripItem permiten controlar la manera en que los menú de dos diferentes ventanas se “mezclarán”.
Menú (2/2) En la imagen se ve una aplicación que utiliza los controles MenuStrip y ToolStrip. En segundo plano se ve el diseñador de formularios.
Snaplines Son líneas que se dibujan automáticamente en el diseñador de formularios al momento de posicionar el control. Ayudan a mantener la correcta distancia entre los controles y entre éstos y su contenedor.
Document Outline Mediante esta herramienta es posible ver la jerarquía de controles del formulario en forma de TreeView, y además editar el nombre de esos controles.
Layout Panels TableLayoutPanel Es similar a diseñar una tabla en un formulario HTML. Facilita la ubicación de los controles en escenarios de localización. Facilita la creación de interfaces redimensionables. FlowLayoutPanel Los controles contenidos “fluyen” como en el modo por defecto de un formulario HTML.
Anchor y Docking Anchor Automatiza el redimensionamiento y posicionamiento de los controles cuando se redimensiona el formulario. Los controles pueden anclarse contra cualquier combinación de los cuatro bordes del formulario. Docking La propiedad Dock (que exponen todos los controles Windows) permite pegar un control a alguno de los cuatro bordes del formulario.
Controles Extender Providers Son controles que, una vez colocados en un formulario, agregan nuevas propiedades a los otros controles existentes. ErrorProvider: Permite asociar un error a un control mostrando un ícono que parpadea al lado de dicho control. HelpProvider: Permite asociar a un control desde una simple cadena de texto un archivo Help que serán mostrados al presionar F1. ToolTip: Es el clásico rectángulo que aparece asociado a un control y que es mostrado cuando el mouse se detiene sobre él.
Herencia Visual Dado que un formulario Windows es como cualquier otra clase .NET, es posible aplicar herencia. Al heredar de un formulario base, además de sus miembros, se heredan todos los controles que en él se encuentren. Permite entre otras cosas: Unificar el diseño de las interfaces de usuario. Reutilizar funcionalidad de formularios similares.
Configuración Las Propiedades Dinámicas permiten almacenar preferencias del usuario en archivos de configuración asociados a la aplicación. Estos valores pueden ser leídos y grabados tanto en diseño como en ejecución. Por cada valor que se almacena se puede definir el nombre, tipo de dato y alcance (usuario o aplicación). Es posible además enlazar (binding) propiedades dinámicas a controles del formulario.
Diálogos Comunes Los cuadros de diálogo comunes permiten interacción con el usuario para ejecutar acciones comunes como abrir un archivo, configurar la impresión, seleccionar un color del sistema, etc. Sólo basta configurar algunas propiedades e invocar su método ShowDialog(). Alguno de los controles que muestran estos diálogos son: ColorDialog PrintDialog SaveDialog OpenDialog
Colecciones Enlace de un ComboBox a datos provenientes de un ArrayList: Código C# System.Collections.ArrayList Paises = new System.Collections.ArrayList(); Paises.Add("Argentina"); Paises.Add("Brasil"); Paises.Add("Uruguay"); comboBox1.DataSource = Paises; Código Visual Basic Dim Paises As System.Collections.ArrayList = New _ System.Collections.ArrayList Paises.Add("Argentina") Paises.Add("Brasil") Paises.Add("Uruguay") comboBox1.DataSource = Paises
Objeto BindingSource El objeto BindingSource permite el enlace de controles a datos provenientes de fuentes de datos (DataSource) de tres tipos DataBase: Crea internamente un dataset. WebService: Crea una referencia web a un servicio que es el que proporciona los datos Object: Utiliza una clase de negocios como fuente de datos creando automáticamente una colección de elementos de esa clase. Usándolo junto a un control DataBindingNavigator y un DataGridView conforman un formulario de ABM sin escribir código alguno.
ADO.NET (1/2) Además de utilizar el objeto BindingSource, es posible enlazar datos utilizando ADO.NET de manera directa. Ejemplo en C# using( SqlConnection cn = new SqlConnection("….") ) { cn.Open(); SqlDataAdapter da = new SqlDataAdapter("Select * from Employee", cn); DataTable dt = new DataTable(); da.Fill(dt); this.dataGridView1.DataSource = dt; }
ADO .NET (2/2) Ejemplo en Visual Basic Dim cn As SqlConnection = New SqlConnection("….") Try cn.Open Dim da As SqlDataAdapter = New _ SqlDataAdapter("Select * from Employee", cn) Dim dt As DataTable = New DataTable da.Fill(dt) Me.dataGridView1.DataSource = dt Finally cn.Close End Try
Distribución de la aplicación La distribución de una aplicación Windows involucra varios pasos de cierta complejidad dependiendo de sus requerimientos. .NET 2.0 incorpora ClickOnce, una tecnología que permite la distribución de la aplicación, versionado y rollback, entre otras funciones. Es posible: Decidir donde será instalada físicamente. Especificar la frecuencia de revisión de actualizaciones. Forzar actualizaciones críticas. Publicar actualizaciones en Servidores Web, Servidores de archivo (File Servers) o Servidores FTP.
Página anterior | Volver al principio del trabajo | Página siguiente |