Lo nuevo de .NET Framework versión 2.0

Actualización: noviembre 2007

La versión 2.0 de Microsoft .NET Framework extiende la versión 1.1 con nuevas características, mejoras en las características existentes y ampliaciones en la documentación. Esta sección proporciona información sobre algunas de las principales adiciones y modificaciones.

Para obtener más información sobre cambios importantes que podrían afectar a su aplicación, vea Breaking Changes in the .NET Framework

Compatibilidad con plataformas de 64 bits

La nueva generación de equipos de 64 bits permite crear aplicaciones capaces de ejecutarse con mayor rapidez y de aprovechar más memoria que las de 32 bits. Esta nueva compatibilidad para aplicaciones de 64 bits les permitirá a los usuarios generar bibliotecas de códigos administrados o utilizar fácilmente bibliotecas de códigos no administrados en equipos de 64 bits. Para obtener más información, vea Aplicaciones de 64 bits.

Compatibilidad con listas de control de acceso

Una lista de control de acceso (ACL) se utiliza para conceder o revocar el permiso de acceso a un recurso de un equipo. Se han agregado nuevas clases a .NET Framework que permiten al código administrado crear y modificar una ACL. Asimismo, se han agregado nuevos miembros que utilizan una ACL a las clases de E/S, Registro y subprocesos.

ADO.NET

Las nuevas características de ADO.NET incluyen la compatibilidad para tipos definidos por el usuario (UDT), operaciones asincrónicas de bases de datos, tipos de datos XML, tipos de valor grandes, aislamiento de capturas y nuevos atributos que permiten a las aplicaciones admitir varios conjuntos de resultados activos (MARS) con SQL Server 2005. Para obtener más información sobre éstas y otras nuevas características de ADO.NET, vea Novedades en ADO.NET.

ASP.NET

Microsoft .NET Framework 2.0 incorpora significativas mejoras en todas las áreas de ASP.NET. En cuanto al desarrollo de páginas Web, varios controles nuevos facilitan la inclusión de funcionalidades de uso común en páginas Web dinámicas. Varios controles de datos nuevos permiten mostrar y modificar datos en páginas Web de ASP.NET sin necesidad de escribir código. La mejora del modelo de código facilita y consolida el desarrollo de páginas ASP.NET. Las características de almacenamiento en caché proporcionan varias nuevas formas de almacenar en caché las páginas, incluida la posibilidad de generar dependencias en tablas de bases de datos de SQL Server.

Ya es posible personalizar sitios y páginas Web de muy diversas maneras. Gracias a las propiedades de perfil, ASP.NET puede realizar seguimientos automáticos de valores de propiedad de usuarios individuales. Con los elementos Web, puede crear páginas que los usuarios pueden personalizar en el explorador. Puede agregar menús de navegación utilizando controles sencillos.

Las mejoras en las características de los sitios Web permiten crear sitios Web profesionales de forma más rápida y sencilla. Las páginas maestras permiten crear un diseño coherente para todas las páginas de un sitio, mientras que los temas ayudan a definir un aspecto común para los textos estáticos y los controles. Como ayuda para la protección de sitios, puede precompilarse un sitio Web para que produzca código ejecutable a partir de archivos de código fuente (tanto archivos de código como el marcado en páginas .aspx). Tras ello, puede implementarse en un servidor de producción el resultado generado, el cual no incluirá ninguna información de origen. Las mejoras de ASP.NET también incluyen nuevas herramientas y clases para facilitar a programadores, administradores de servidor y anfitriones la administración de sitios Web.

ASP.NET admite una gran variedad de exploradores y dispositivos. De manera predeterminada, los controles representan resultados compatibles con los estándares de XHTML 1.1. De esta forma, puede utilizar el filtrado de dispositivos para especificar distintos valores de propiedad en el mismo control para los distintos exploradores.

Secuencias autenticadas

Las aplicaciones pueden utilizar las nuevas clases NegotiateStream y SslStream como medio de autenticación y para proteger la transmisión de datos entre un cliente y un servidor. Estas clases de secuencias autenticadas admiten la autenticación mutua, así como el cifrado y la firma de datos. La clase NegotiateStream utiliza el protocolo de seguridad Negotiate para la autenticación. SslStream, por su parte, utiliza el protocolo Secure Socket Layer (SSL).

Mejoras en los servicios de interoperabilidad COM

Se han realizado cuatro grandes mejoras a las clases y herramientas que admiten la interoperabilidad con COM:

  • El sistema operativo mantiene un número limitado de identificadores utilizados para hacer referencia a sus recursos fundamentales. Las nuevas clases SafeHandle y CriticalHandle, así como sus clases derivadas especializadas, proporcionan mecanismos seguros y eficaces para manipular los identificadores del sistema operativo.

  • Las mejoras en el cálculo de referencias facilitan la interoperabilidad con código nativo. Dos mejoras en el contador de referencias de interoperabilidad vienen a satisfacer dos de las solicitudes más habituales entre los usuarios: la capacidad para ajustar punteros nativos a función en los delegados y la capacidad para calcular referencias de matrices de tamaño fijo pertenecientes a estructuras dentro de estructuras.

  • El rendimiento de las llamadas entre aplicaciones en dominios de aplicación diferentes se ha acelerado enormemente en los tipos de llamada más comunes.

  • Los nuevos modificadores para Importador de la biblioteca de tipos (TlbImp.exe) y Exportador de la biblioteca de tipos (Tlbexp.exe) eliminan la dependencia del Registro para resolver las referencias a la biblioteca de tipos. Esta mejora es importante para crear entornos de generación sólidos.

Adiciones a la clase Console

Varios miembros nuevos de la clase Console permiten a las aplicaciones manipular las dimensiones de la ventana de consola y el búfer de pantalla; desplazar una zona rectangular del búfer de pantalla, lo que resulta útil para realizar animaciones sencillas y fluidas; y esperar, durante la lectura de entradas de la consola, a que se presione una tecla. Otros miembros nuevos de clase controlan los colores de primer plano y de fondo del texto, la visibilidad y el tamaño del cursor, así como la frecuencia y duración del aviso sonoro de la consola.

API de protección de datos

La nueva API de protección de datos (DPAPI) incluye cuatro métodos que permiten a las aplicaciones cifrar contraseñas, claves, cadenas de conexiones, etc. sin llamar a la invocación de la plataforma. También pueden cifrarse bloques de memoria en equipos con Windows Server 2003 o sistemas operativos posteriores.

Atributos de visualización del depurador

Ahora puede controlar la forma en que Visual Studio ha de mostrar una clase o miembro mientras se depura una aplicación. La función Visualizar atributos del depurador le permite identificar qué información es más útil mostrar en el depurador.

Compatibilidad con la función Editar y continuar del depurador

.NET Framework 2.0 vuelve a introducir la función Editar y continuar, empleada para permitir a los usuarios que estén depurando una aplicación en Visual Studio la realización de cambios en el código fuente mientras se ejecuta el modo de interrupción. Una vez aplicadas las modificaciones en el código fuente, se puede reanudar la ejecución del código y observar el resultado. La función Editar y continuar está disponible en todos los lenguajes de programación admitidos por Visual Studio.

Detección de cambios en la conectividad de red

La clase NetworkChange permite a las aplicaciones recibir una notificación cada vez que cambia la dirección de Protocolo de Internet (IP) de una interfaz de red (también conocidas como tarjetas o adaptadores de red). Una dirección de interfaz puede cambiar por varios motivos, como, por ejemplo, la desconexión de un cable de red, el desplazamiento fuera del alcance de una red de área local inalámbrica o un error de hardware. La clase NetworkChange ofrece esta función de notificación provocando eventos cada vez que se detecta un cambio.

Computación distribuida

En el espacio de nombres System.Net, se ha agregado compatibilidad para permitir las solicitudes de clientes FTP, el almacenamiento en memoria caché de recursos HTTP, la detección automática de proxy y la obtención de tráfico de red e información estadística. El espacio de nombres incluye ahora una clase de servidor Web (HttpListener) que puede utilizarse para crear un servidor Web simple para responder a las solicitudes HTTP. Las clases que generan tráfico de red han sido instrumentadas para producir información de seguimiento para la depuración y el diagnóstico de aplicaciones. Se han agregado mejoras de seguridad y rendimiento a las clases System.Net.Sockets.Socket y System.Uri.

En los espacios de nombres System.Web.Services, se ha agregado compatibilidad para admitir SOAP 1.2 y elementos que admiten valores NULL.

En los espacios de nombres System.Runtime.Remoting.Channels, se han incorporado funciones de seguridad para canales. El canal TCP ya admite funciones de autenticación y cifrado y ofrece varias características nuevas que mejoran su compatibilidad con el equilibrio de carga.

Mejoras en EventLog

Ya puede utilizar archivos DLL personalizados para los mensajes, los parámetros y las categorías de EventLog.

Administración ampliada de certificados

.NET Framework ya admite cadenas, extensiones y almacenes de certificados de X.509. Igualmente, es posible firmar y comprobar XML mediante certificados X.509, sin necesidad de utilizar la invocación de plataforma. Asimismo, se ha agregado compatibilidad para firma y cifrado en PKCS7 y CMS (un superconjunto del estándar PCKS7 disponible en Microsoft Windows 2000 y sistemas operativos posteriores). PKCS7 es el formato subyacente utilizado en S/MIME (Secure/Multipurpose Internet Mail Extensions) para firmar y cifrar datos. Para obtener más información, vea el tema de la clase X509Certificate2.

Compatibilidad con FTP

El acceso de las aplicaciones a recursos del Protocolo de transferencia de archivos (FTP) ya es posible mediante las clases WebRequest, WebResponse y WebClient.

Genéricos y colecciones genéricas

.NET Framework 2.0 introduce genéricos para permitir la creación de código flexible y reutilizable. Las funciones de lenguaje conocidas como genéricas actúan como plantillas que permiten declarar y definir clases, estructuras, interfaces, métodos y delegados con parámetros de tipo genérico o no especificado, en lugar de tipos específicos. Los tipos reales quedan especificados posteriormente, cuando se utiliza el genérico. Varios espacios de nombres, como System y System.Collections.Generic, proporcionan clases y métodos genéricos. El nuevo espacio de nombres System.Collections.Generic ofrece compatibilidad con las colecciones con establecimiento inflexible de tipos. Los genéricos son admitidos en tres lenguajes: Visual Basic, C# y C++.

La reflexión se ha ampliado para posibilitar la manipulación y el examen en tiempo de ejecución de tipos y métodos genéricos. Se han agregado nuevos miembros a System.Type y System.Reflection.MethodInfo, entre los que se incluye IsGenericType empleado para detectar tipos genéricos de identificación (por ejemplo, class Gen<T,U> {...}); GetGenericArguments, para obtener listas de parámetros de tipos; y MakeGenericType, para crear tipos específicos (por ejemplo, new Gen<int, long>()).

Globalización

Cinco nuevas características de globalización ofrecen una mayor compatibilidad a la hora de desarrollar aplicaciones destinadas a lenguas y culturas diferentes.

  • La compatibilidad para la personalización de referencias culturales permite definir e implementar datos de tipo cultural según sea necesario. Esta función resulta útil para crear personalizaciones secundarias en definiciones de referencias culturales ya existentes y para crear definiciones que aún no existan en .NET Framework. Para obtener más información, vea la clase CultureAndRegionInfoBuilder.

  • Las operaciones de codificación y descodificación asignan un carácter Unicode a una secuencia de bytes (o desde ella) que puede transferirse a un soporte físico (por ejemplo, un disco o una línea de telecomunicaciones). Cuando una operación de asignación no logra completarse, puede recurrirse a la nueva función de reserva de codificación y descodificación admitida por varias clases del espacio de nombres System.Text.

  • Los miembros de la clase UTF8Encoding, que implementa la codificación UTF-8, ahora son varias veces más rápidos que los de versiones anteriores. UTF-8 es la codificación más común utilizada para transformar los caracteres Unicode en bytes en los equipos.

  • .NET Framework ya admite el último estándar de normalización definido por Unicode Consortium. El proceso de normalización convierte representaciones de caracteres de texto en un formulario estándar, de forma que se puedan realizarse comparaciones de equivalencia entre las representaciones.

  • La sobrecarga del método GetCultureInfo proporciona una versión almacenada en memoria caché de un objeto CultureInfo de sólo lectura. Para mejorar el rendimiento del sistema y reducir el uso de memoria, deberá utilizarse la versión almacenada en memoria caché al crear un nuevo objeto CultureInfo.

Mejoras en la E/S

Se han realizado mejoras en la utilidad y funcionalidad de varias clases de E/S. Ahora es más fácil leer y escribir archivos de texto y obtener información sobre una unidad.

Ahora se pueden utilizar las clases del espacio de nombres System.IO.Compression para leer y escribir datos con el estándar de compresión y descompresión GZIP, que se describe en las especificaciones RFC 1951 y RFC 1952 de IETF, que se encuentran disponibles en la página de búsqueda IETF Request for Comments (RFC). Nota: la búsqueda está limitada a los números RFC.

Activación basada en manifiestos

Esta función incorpora la posibilidad de cargar y activar aplicaciones a través de un manifiesto. La activación basada en manifiestos resulta esencial para las aplicaciones ClickOnce. Las aplicaciones se han activado de siempre por medio de referencias a ensamblados con el punto de entrada de la aplicación. Por ejemplo, al hacer clic en el archivo .exe de una aplicación desde el shell de Windows, este último carga el Common Language Runtime (CLR) y llama a un punto de entrada conocido dentro del ensamblado de dicho archivo .exe.

El nuevo modelo no utiliza para la activación un ensamblado, sino un manifiesto de aplicación. Un manifiesto describe totalmente la aplicación, sus dependencias, sus requisitos de seguridad, etc. El modelo basado en manifiestos tiene varias ventajas con respecto a la activación por ensamblados, especialmente en las aplicaciones Web. Así, el manifiesto contiene los requisitos de seguridad de la aplicación, lo que le permite al usuario decidir si desea que ésta se ejecute antes de descargar el código. El manifiesto también contiene información sobre las dependencias de la aplicación.

La activación basada en manifiestos es proporcionada por un conjunto de API que permiten a los hosts administrados activar aplicaciones y complementos descritos por un manifiesto. Estas API contienen una mezcla tanto de clases nuevas como de extensiones de clases ya existentes.

Este modelo de activación también invoca una entidad denominada administrador de confianza que realiza las tareas siguientes:

  1. Determina si está permitida la aplicación de una aplicación. Esta decisión se puede tomar preguntando al usuario, consultando la directiva o por cualquier otro medio que se estime apropiado por un administrador de confianza.

  2. Configura el contexto de seguridad en el que se ejecuta una aplicación. Lo más frecuente es que este paso implique la configuración de un árbol de directivas de seguridad de acceso a código (CAS) en el dominio de aplicación en el que se ejecutará la aplicación.

Servicios remotos de .NET Framework

Los servicios remotos de .NET Framework ya admiten direcciones IPv6 y el intercambio de tipos genéricos. Las clases del espacio de nombres System.Runtime.Remoting.Channels.Tcp admiten la autenticación y el cifrado a través de la interfaz del proveedor de compatibilidad con seguridad (SSPI). Las clases del nuevo espacio de nombres System.Runtime.Remoting.Channels.Ipc permiten que las aplicaciones de un mismo equipo puedan comunicarse rápidamente y sin utilizar la red. Por último, ya es posible configurar el tiempo de espera de la caché de conexión y el número de reintentos de los métodos, con lo que puede mejorarse el rendimiento de los clústeres remotos con equilibrio de carga en la red.

Obtener información sobre el uso y la configuración de redes de equipos locales

Gracias a las clases del espacio de nombres System.Net.NetworkInformation, es posible el acceso de las aplicaciones a las estadísticas de tráfico de red IP, IPv4, IPv6, TCP y UDP. Asimismo, las aplicaciones pueden ver información sobre configuración y direcciones relativa a los adaptadores de red del equipo local. Esta información es similar a la devuelta por la herramienta de línea de comandos Ipconfig.exe.

Ping

La clase Ping permite a las aplicaciones determinar si un equipo remoto es accesible desde la red. Esta clase, compatible con las llamadas sincrónicas y asincrónicas, proporciona una funcionalidad parecida a la de la herramienta de línea de comandos Ping.exe.

Procesar solicitudes HTTP desde aplicaciones

Con la clase HttpListener, puede crear un sencillo servidor Web para responder a las solicitudes HTTP. Este servidor Web, que permanece activo durante el período de duración del objeto HttpListener, se ejecuta en el interior de la aplicación y con los permisos de ésta. Esta clase sólo está disponible en equipos con los sistemas operativos Windows XP Service Pack 2 o Windows Server 2003.

Control mediante programación del almacenamiento en memoria caché

Con las clases del espacio de nombres System.Net.Cache, las aplicaciones pueden controlar el almacenamiento en caché de los recursos obtenidos con las clases WebRequest, WebResponse y WebClient. Es posible utilizar las directivas de caché predefinidas proporcionadas por .NET Framework o bien especificar una directiva de caché personalizada. Así, puede especificarse una directiva de caché para cada solicitud y definir una predeterminada para las solicitudes que no especifiquen directivas.

Lenguajes de programación

Son cuatro los lenguajes de programación de Microsoft que tienen .NET Framework como destino explícito: Visual C#, Microsoft C/C++, Visual J# y Visual Basic.

Compilador y lenguaje Visual Basic

Las mejoras en el lenguaje Visual Basic simplifican el código fuente y permiten la interacción con componentes con funciones avanzadas.

Compilador

Visual Basic introduce una nueva constante de compilación condicional, VBC_VER, para todos los proyectos. Esta versión tiene el valor de VBC_VER 8.0.

El compilador de línea de comandos de Visual Basic (Vbc.exe) ahora almacena en el archivo Vbc.rsp, en su mismo directorio, las opciones de línea de comandos predeterminadas. Vbc.rsp puede modificarse para reconfigurar estas opciones predeterminadas.

Hay cuatro opciones de compilador de línea de comandos nuevas:

  • La opción /doc genera un archivo de documentación XML basado en comentarios incluidos en el código.

  • La opción /noconfig hace omitir el archivo Vbc.rsp al compilador.

  • La opción /codepage especifica la página de códigos que se ha de utilizar para abrir archivos de código fuente.

  • La opción /filealign especifica el tamaño de las secciones del archivo de resultados.

  • La opción /nostdlib (Visual Basic) obliga al compilador a no hacer referencia a las bibliotecas estándar.

Para obtener información detallada, vea Opciones del compilador de Visual Basic.

Lenguaje

Hay varios elementos nuevos en esta versión del lenguaje Visual Basic:

Excepciones de seguridad

La clase System.Security.SecurityException ha sido ampliada para proporcionar datos adicionales que faciliten la investigación de causas en las excepciones de seguridad. Diferentes propiedades nuevas proporcionan información variada: sobre el método en que se ha producido la excepción, sobre el primer permiso que ha fallado, sobre la zona o dirección URL del ensamblado, sobre la acción de seguridad que ha fallado, sobre la acción de seguridad en la pila de llamadas (por ejemplo, Deny o PermitOnly) que ha producido la excepción, etc.

Compatibilidad con el dispositivo serie de E/S

La nueva clase SerialPort permite a las aplicaciones tener acceso a los puertos serie de un equipo y comunicarse con dispositivos serie de E/S.

Serialización

Las clases BinaryFormatter y SoapFormatter han pasado a ser compatibles con la serialización tolerante a versiones, lo que permite deserializar tipos a partir de serializaciones de una versión diferente. Para obtener más detalles, consulte Serialización tolerante a versiones.

La serialización XML admite ahora el uso de propiedades en lugar de campos para representar elementos de esquema, la serialización de tipos genéricos, así como el uso de la estructura Nullable<T> para representar elementos que aceptan valores NULL. La interfaz IXmlSerializable admite la generación de esquemas personalizados. SchemaImporterExtension permite controlar la generación de código proxy modificando los esquemas durante la importación de los mismos. Por ejemplo, puede modificar el servidor proxy generado al utilizar la característica Agregar referencia Web de Visual Studio o al utilizar la Herramienta Lenguaje de descripción de servicios Web (Wsdl.exe).

El nuevo Herramienta Generador de serializador XML (Sgen.exe) permite precompilar el código utilizado por clientes de los servicios Web para serializar la información transmitida, con lo que se mejora enormemente el tiempo de inicio del cliente. Para obtener más detalles, consulte Introducir la serialización XML.

Compatibilidad con SMTP

Gracias a las clases de los espacios de nombres System.Net.Mail y System.Net.Mime, las aplicaciones pueden enviar correo electrónico a uno o varios destinatarios. Los mensajes pueden enviarse con vistas alternativas y pueden incluir archivos adjuntos. El envío con copia y con copia oculta también es posible.

Compatibilidad con recursos con establecimiento inflexible de tipos

Generador de archivos de recursos (Resgen.exe) crea archivos de recursos que se incrustan en archivos ejecutables y ensamblados satélite. Resgen.exe genera una clase contenedora para cada archivo de recursos, lo que le proporciona un acceso sencillo a los recursos y le impide cometer erratas al escribir sus nombres.

Mejoras en el subprocesamiento

Ya se puede asignar nombres a los eventos de comunicación entre procesos que se creen íntegramente en código administrado. La clase Semaphore también admite el recuento de recursos especializados.

Filtrado de datos de seguimiento

.NET Framework 2.0 proporciona clases capaces de realizar seguimientos y registros de eventos de sistema relacionados, entre otros, con la E/S o con el inicio y cierre de aplicaciones. Sin embargo, el gran volumen y diversidad de tipos de los datos de seguimiento dificulta a los usuarios su análisis. Con la nueva función de filtrado de datos de seguimiento, podrá especificarse el tipo de información que se ha de registrar.

Transacciones

El nuevo espacio de nombres System.Transactions incluye clases que permiten que las aplicaciones participen en transacciones administradas por el Coordinador de transacciones distribuidas de Microsoft (MSDTC) u otros administradores de transacciones locales. El espacio de nombres System.Transactions proporciona tanto un modelo de programación explícito basado en la clase Transaction como un modelo de programación implícito mediante el uso de la clase TransactionScope, donde la infraestructura administra automáticamente las transacciones. Esta infraestructura de transacciones puede interactuar fácilmente con la infraestructura de transacciones System.EnterpriseServices (COM+), ya existente. El espacio de nombres System.Transactions también proporciona clases para implementar un administrador de recursos. Un administrador de recursos administra los datos duraderos o volátiles que se utilizan en una transacción, y funciona en cooperación con el administrador de transacciones para dotar a la aplicación de una garantía de atomicidad y aislamiento.

Servicios Web

Los servicios web admiten SOAP 1.2 y Basic WS-I Profile 1.0, lo que se encuentra documentado en "Web Services Interoperability Organization - Basic Profile Version 1.0" (en inglés).

Cuando se estén utilizando dos o más servicios Web que definan un tipo compartido, los servidores proxy cliente que se generen para los servicios compartirán el tipo correspondiente en el cliente. De este modo, los clientes lo tendrán más fácil para pasar instancias de tipos compartidos entre servicios Web.

Ya es posible invocar métodos Web de forma asincrónica utilizando un modelo de programación basado en eventos.

Características relacionadas con Windows Forms

Implementación ClickOnce

La implementación ClickOnce permite implementar aplicaciones de actualización automática para Windows que pueden instalarse y ejecutarse tan fácilmente como las aplicaciones Web. También pueden implementarse aplicaciones de línea de comandos y de cliente de Windows. Hay nuevos comandos Publicar proyecto en los menús Generar y Proyecto de Visual Studio. Para obtener más información, vea Información general sobre la implementación de ClickOnce.

Configuración de la aplicación

La configuración de aplicaciones de Windows Forms facilita la creación, el almacenamiento y el mantenimiento de preferencias de usuarios y aplicaciones personalizadas en el cliente. Con la configuración de Windows Forms, no sólo es posible almacenar datos de las aplicaciones (por ejemplo, cadenas de conexión a bases de datos), sino también datos específicos de los usuarios (por ejemplo, posiciones de la barra de herramientas y listas de archivos usados recientemente). Para obtener más información, vea Introducción a la configuración de la aplicación.

Nuevo modelo de enlace de datos

El componente BindingSource actúa como intermediario entre el control dependiente y el origen de datos de destino, por lo que simplifica el proceso de enlace de datos. Administra automáticamente muchos de los problemas de enlace más complejos, como los cambios de moneda, de eventos relacionados con datos o de orígenes de datos de destino. También está diseñado para interactuar con otros controles de Windows Forms relacionados con datos, muy especialmente con BindingNavigator y DataGridView. Para obtener más información, vea BindingSource (Componente). El componente BindingSource simplifica el proceso de enlazar controles a un origen de datos subyacente. No sólo actúa como conducto, sino también como origen de datos al que se enlazan otros controles.

Nuevos controles de Windows Forms

El control DataGridView proporciona una forma eficaz y flexible de mostrar datos en formato de tabla. Puede utilizarse para mostrar vistas de sólo lectura de una cantidad pequeña de datos o puede ajustar su tamaño para mostrar vistas modificables de conjuntos muy grandes de datos. Los datos pueden residir en un origen de datos externo o bien agregarse directamente al control. Para obtener más información, vea Información general del control DataGridView (Formularios Windows Forms).

Los controles ToolStrip son barras de herramientas capaces de hospedar menús, controles y controles de usuario en aplicaciones de Windows Forms. La clase ToolStrip y sus clases asociadas permiten crear barras de herramientas y otros elementos de la interfaz de usuario en un estilo coherente con Microsoft Windows XP, Microsoft Office y Microsoft Internet Explorer. También puede utilizar estas clases para personalizar barras de herramientas y elementos de la interfaz de usuario. Para obtener más información, vea Información sobre el control ToolStrip (formularios Windows Forms).

El control MaskedTextBox utiliza una definición de máscara para distinguir entre entradas de usuario válidas y no válidas. Para obtener más información, vea MaskedTextBox (Control, formularios Windows Forms).

La clase SoundPlayer de Windows Forms permite incluir sonidos con facilidad en las aplicaciones. La clase SoundPlayer puede reproducir archivos de sonido en formato .wav desde un recurso o desde ubicaciones HTTP o UNC (convención de nomenclatura universal). Además, la clase SoundPlayer permite cargar o reproducir sonidos de forma asincrónica. Para obtener más información, vea SoundPlayer (Clase).

El control SplitContainer de Windows Forms se puede considerar como un elemento compuesto: se trata de dos paneles separados por una barra móvil. Cuando se desplaza el puntero del mouse por la barra, el cursor cambia para mostrar que ésta es móvil. Este control puede utilizarse para crear interfaces de usuario complejas y de tamaño variable, muy eficaces para mostrar y explorar datos. Para obtener más información, vea Control SplitContainer.

El control ListView ya admite tres funciones de Windows XP y la familia de Windows Server 2003: la vista en mosaico, la agrupación y la recolocación de elementos mediante arrastrar y colocar.

Los controles ListView, TreeView y ToolTip ya admiten la funcionalidad de dibujo de propietarios parecida a la compatibilidad de los controles ComboBox, ListBox, MenuItem y TabControl de la versión anterior.

El control WebBrowser permite hospedar páginas Web en las aplicaciones de Windows Forms. WebBrowser puede utilizarse para proporcionar a una aplicación funciones de ayuda integrada basada en HTML o de exploración Web en Internet. Además, WebBrowser permite convertir aplicaciones Web ya existentes en aplicaciones cliente capaces de integrar a la perfección código HTML dinámico (DHTML) con las funciones de la interfaz de usuario de Windows Forms. Para obtener más información, vea Información general sobre el control WebBrowser.

El control FlowLayoutPanel organiza su contenido en una dirección de flujo horizontal o vertical. El control TableLayoutPanel dispone el contenido en una cuadrícula. Como este diseño se realiza tanto en tiempo de diseño como de ejecución, puede cambiar dinámicamente con los cambios en el entorno de la aplicación. Para obtener más información, vea Información general sobre el control FlowLayoutPanel y Información general sobre el control TableLayoutPanel.

El componente BackgroundWorker permite realizar en segundo plano operaciones de ejecución muy prolongada, como las descargas de imágenes y las transacciones de bases de datos. Para obtener más información, vea Información general sobre el componente BackgroundWorker.

El modelo asincrónico para componentes es un modelo controlado por eventos que proporciona las ventajas de las aplicaciones multiproceso al tiempo que oculta muchos de los problemas complejos inherentes al diseño multiproceso. Para obtener más información, vea Modelo asincrónico para componentes.

Funciones relacionadas con XML

.NET Framework 2.0 ofrece muchas mejoras, entre las que se incluye un nuevo procesador de Transformación XSL (XSLT); la compatibilidad de tipos en las clases XmlReader; XmlWriter y XPathNavigator; y nuevas capacidades de edición en la clase XPathNavigator. Además, hay un nuevo modelo para crear objetos XmlReader y XmlWriter, así como muchas mejoras de rendimiento. Para obtener más información, vea Lo nuevo en System.Xml.

Vea también

Conceptos

Buscador rápido de tecnologías

Otros recursos

Información general acerca de .NET Framework