Nouveautés de .NET Framework version 2.0

Mise à jour : novembre 2007

Microsoft .NET Framework version 2.0 enrichit le .NET Framework version 1.1 de nouvelles fonctionnalités et améliore les fonctionnalités existantes ainsi que la documentation. Cette section présente certains des principaux ajouts et modifications.

Pour plus d'informations sur les modifications avec rupture qui peuvent affecter votre application, consultez Modifications avec rupture dans le .NET Framework (en anglais).

Prise en charge de la plateforme 64 bits

La nouvelle génération d'ordinateurs 64 bits permet la création d'applications plus performantes et capables de tirer parti de plus de mémoire que n'en disposent les applications de 32 bits. La prise en charge d'applications 64 bits permet aux utilisateurs de générer des bibliothèques de code managé ou d'utiliser facilement des bibliothèques de code non managé sur les ordinateurs 64 bits. Pour plus d'informations, consultez Applications 64 bits.

Prise en charge de la liste de contrôle d'accès (ACL)

Une liste de contrôle d'accès (ACL) permet d'accorder ou de révoquer l'autorisation d'accéder à une ressource sur un ordinateur. De nouvelles classes ont été ajoutées au .NET Framework qui permettent au code managé de créer et de modifier une liste ACL. Les nouveaux membres qui utilisent une liste ACL ont été ajoutés dans les classes d'E/S, Registre et threading.

ADO.NET

Les nouvelles fonctionnalités d'ADO.NET incluent la prise en charge de types définis par l'utilisateur, d'opérations de base de données asynchrones, de types de données XML, de types valeur élevée, d'isolation de capture et de nouveaux attributs qui permettent aux applications de prendre en charge des MARS (Multiple Active Result Set) avec SQL Server 2005. Pour plus d'informations sur celles-ci et d'autres nouvelles fonctionnalités ADO.NET, consultez Nouveautés dans ADO.NET.

ASP.NET

Le Microsoft .NET Framework 2.0 comprend des améliorations significatives dans tous les domaines d'ASP.NET. Pour le développement de page Web, de nouveaux contrôles facilitent l'ajout dans des pages Web dynamiques de fonctionnalités communément utilisées. De nouveaux contrôles de données permettent désormais d'afficher et de modifier des données sur une page Web ASP.NET sans écriture de code. Un modèle code-behind amélioré rend le développement de pages ASP.NET plus facile et plus fiable. Les fonctionnalités de mise en cache offrent de nouvelles possibilités pour mettre en cache des pages, y compris la capacité de construire la dépendance de cache sur les tables d'une base de données SQL Server.

Vous pouvez maintenant personnaliser des sites et des pages Web de plusieurs manières. Les propriétés de profil permettent à ASP.NET de suivre automatiquement les valeurs de propriété d'utilisateurs individuels. À l'aide de WebParts, vous pouvez créer des pages que les utilisateurs peuvent personnaliser dans le navigateur. Vous pouvez ajouter des menus de navigation à l'aide de contrôles simples.

Les améliorations apportées aux fonctionnalités de site Web vous permettent de créer des sites Web professionnels plus rapidement et plus facilement. Les pages maîtres vous permettent de créer une disposition cohérente pour les pages d'un site, et les thèmes vous permettent de définir une apparence cohérente pour les contrôles et le texte statique. Pour la protection de vos sites, vous pouvez précompiler un site Web afin de produire un code exécutable à partir des fichiers sources (à la fois les fichiers de code et le balisage dans les pages .aspx). Vous pouvez déployer ensuite le résultat produit, qui n'inclut aucune information source, sur un serveur de production. Les améliorations apportées à ASP.NET incluent également de nouveaux outils et des classes qui facilitent la gestion de site Web pour les développeurs, administrateurs du serveur et hébergeurs de sites Web.

ASP.NET fonctionne avec une grande variété de navigateurs et de périphériques. Par défaut, les contrôles restituent une sortie compatible avec les standards XHTML 1.1. Vous pouvez utiliser le filtrage de périphérique pour spécifier des valeurs de propriété différentes sur le même contrôle pour plusieurs navigateurs.

Flux de données authentifiés

Les applications peuvent utiliser les nouvelles classes NegotiateStream et SslStream pour l'authentification et favoriser la sécurisation des informations transmises entre un client et un serveur. Ces classes de flux authentifiés prennent en charge l'authentification mutuelle des classes, le chiffrement des données et la signature des données. La classe NegotiateStream utilise le protocole Négocier la sécurité pour l'authentification. La classe SslStream utilise le protocole de sécurité SSL (Secure Socket Layer) pour l'authentification.

Améliorations des services COM Interop

Quatre améliorations majeures ont été faites aux classes et outils qui prennent en charge l'interopérabilité avec COM :

  • Le système d'exploitation maintient un nombre limité de handles, qui servent à référencer des ressources critiques du système d'exploitation. Les nouvelles classes SafeHandle et CriticalHandle, et leurs classes spécialisées dérivées, fournissent des moyens sécurisés et fiables pour manipuler les handles du système d'exploitation.

  • Les améliorations apportées au marshaling facilitent l'interaction avec le code natif. Deux améliorations au marshaleur d'interopérabilité satisfont les deux demandes d'utilisateur les plus communes : la capacité d'encapsuler des pointeurs fonction natifs dans des délégués et la capacité de marshaler des tableaux de taille fixe de structures à l'intérieur de structures.

  • La performance des appels entre applications dans des domaines d'application différents a été rendue beaucoup plus rapide pour les types d'appel communs.

  • De nouveaux commutateurs sur les outils Type Library Importer (Tlbimp.exe) et Type Library Exporter, outil (Tlbexp.exe) suppriment la dépendance au Registre pour résoudre les références de bibliothèque de types. Cette amélioration est importante pour créer des environnements de génération fiables.

Ajouts dans la classe Console

Les nouveaux membres de la classe Console permettent aux applications de manipuler les dimensions de la mémoire tampon de la fenêtre de console et de l'écran, de déplacer une zone rectangulaire de la mémoire tampon d'écran qui est utile pour exécuter une animation lisse et simple, et d'attendre tout en lisant l'entrée console jusqu'à ce qu'une touche soit enfoncée. D'autres nouveaux membres de classe contrôlent les couleurs d'avant et d'arrière-plan du texte, la visibilité et la taille du curseur, ainsi que la fréquence et la durée du signal sonore de la console.

API de protection des données (DPAPI)

La nouvelle API de protection des données (DPAPI) comprend quatre méthodes qui permettent aux applications de chiffrer des mots de passe, des touches, des chaînes de connexions, et ainsi de suite, sans appeler l'appel de code non managé. Vous pouvez également chiffrer des blocs de mémoire sur les ordinateurs qui exécutent Windows Server 2003 ou des systèmes d'exploitation ultérieurs.

Attributs d'affichage du débogueur

Vous pouvez maintenant contrôler la manière avec laquelle Visual Studio affiche une classe ou un membre lorsqu'une application est déboguée. La fonctionnalité Attributs d'affichage du débogueur vous permet d'identifier les informations les plus utiles à afficher dans le débogueur.

Prise en charge de la fonctionnalité Modifier & Continuer du débogueur

Le .NET Framework 2.0 réintroduit la fonctionnalité Modifier & Continuer qui permet à un utilisateur qui débogue une application dans Visual Studio d'apporter de modifier le code source pendant son exécution en mode arrêt. Une fois les modifications du code source appliquées, l'utilisateur peut reprendre l'exécution du code et observer l'effet. En outre, la fonctionnalité Modifier & Continuer est disponible dans n'importe quel langage de programmation pris en charge par Visual Studio.

Détection des modifications dans la connectivité réseau

La classe NetworkChange permet à des applications de recevoir une notification lorsque l'adresse IP (Internet Protocol) d'une interface réseau (ou carte réseau) change. Une adresse d'interface peut changer pour de nombreuses raisons, telles que la déconnexion d'un câble réseau, le déplacement hors limites d'un réseau local sans fil ou une défaillance matérielle. La classe NetworkChange assure la notification de changement d'adresse en déclenchant des événements lorsqu'une modification est détectée.

Calcul distribué

Dans l'espace de noms System.Net, la prise en charge des demandes de client FTP, de la mise en cache des ressources HTTP, de la découverte de proxy automatique et de l'obtention d'informations statistiques et sur le trafic réseau a été ajoutée. L'espace de noms inclut maintenant une classe de serveur Web (HttpListener) que vous pouvez utiliser pour créer un serveur Web simple pour répondre aux requêtes HTTP. Les classes qui génèrent le trafic réseau ont été instrumentées pour produire des informations de traçage pour le débogage et le diagnostic d'application. Des améliorations de sécurité et de performance ont été ajoutées aux classes System.Net.Sockets.Socket et System.Uri.

Dans les espaces de noms System.Web.Services, la prise en charge de SOAP 1.2 et des éléments nullables a été ajoutée.

Dans les espaces de noms System.Runtime.Remoting.Channels, des fonctionnalités de sécurité de canal ont été ajoutées. Le canal TCP prend maintenant en charge l'authentification et le chiffrement, ainsi que de nouvelles fonctionnalités permettant de mieux gérer l'équilibrage de charge.

Améliorations du journal d'événements

Vous pouvez maintenant utiliser des DLL personnalisées pour les messages, paramètres et catégories EventLog.

Gestion de certificat étendue

Le .NET Framework prend maintenant en charge des magasins de certificats, des chaînes et des extensions X.509. De plus, vous pouvez signer et vérifier le code XML à l'aide de certificats X.509 sans utiliser l'appel de code non managé. La signature et le chiffrement PKCS7 sont également pris en charge, tout comme le CMS (sur-ensemble du standard PKCS7 disponible sur Microsoft Windows 2000 et les systèmes d'exploitation ultérieurs). PKCS7 est le format sous-jacent utilisé dans les extensions S/MIME (Secure/Multipurpose Internet Mail Extensions) pour signer et chiffrer les données. Pour plus d'informations, consultez la rubrique relative à la classe X509Certificate2.

Prise en charge FTP

Les applications peuvent maintenant accéder aux ressources FTP à l'aide des classes WebRequest, WebResponse et WebClient.

Génériques et collections génériques

Le .NET Framework 2.0 introduit des génériques qui vous permettent de créer du code flexible et réutilisable. Les fonctionnalités de langage collectivement qualifiées de génériques agissent comme des modèles qui permettent aux classes, structures, interfaces, méthodes et délégués d'être déclarés et définis avec des paramètres de type non spécifié ou générique au lieu de types spécifiques. Les types réels sont spécifiés ultérieurement lorsque le générique est utilisé. Plusieurs espaces de noms, tels que l'espace de noms System et System.Collections.Generic, fournissent des classes et des méthodes génériques. Le nouvel espace de noms System.Collections.Generic assure la prise en charge des collections fortement typées. Les génériques sont pris en charge dans trois langages : Visual Basic, C# et C++.

La réflexion a été étendue pour autoriser l'examen et la manipulation, pendant l'exécution, de types génériques et méthodes. De nouveaux membres ont été ajoutés à System.Type et System.Reflection.MethodInfo, y compris IsGenericType pour identifier des types génériques (par exemple, class Gen<T,U> {...}), GetGenericArguments pour obtenir des listes de paramètres de type et MakeGenericType pour créer des types spécifiques (par exemple, new Gen<int, long>()).

Globalisation

Cinq nouvelles fonctionnalités de globalisation assurent une meilleure prise en charge pour développer des applications prévues pour différentes langues et cultures.

  • La prise en charge de cultures personnalisées vous permet de définir et de déployer des informations relatives à la culture suivant vos besoins. Cette fonctionnalité est utile pour créer de petites personnalisations de définitions de culture existantes, et créer des définitions de culture qui n'existent pas encore dans le .NET Framework. Pour plus d'informations, consultez la classe CultureAndRegionInfoBuilder.

  • Les opérations de codage et de décodage mappent un caractère Unicode vers ou à partir d'un flux d'octets pouvant être transférés sur un support physique comme un disque ou une ligne de communication. Si une opération de mappage ne peut pas être effectuée, vous pouvez compenser en utilisant la nouvelle fonctionnalité de secours de codage et de décodage prise en charge par plusieurs classes dans l'espace de noms System.Text.

  • Les membres de la classe UTF8Encoding, qui implémente le codage UTF-8, sont maintenant plusieurs fois plus rapides que dans les versions antérieures. UTF-8 est le codage le plus commun utilisé pour transformer les caractères Unicode en octets sur les ordinateurs.

  • Le .NET Framework prend maintenant en charge le standard de normalisation le plus récent défini par le Unicode Consortium. Le processus de normalisation convertit la représentation des caractères de texte en une forme standard de sorte que les représentations puissent être comparées.

  • La surcharge de méthode GetCultureInfo fournit une version en cache d'un objet CultureInfo en lecture seule. Utilisez la version en cache lorsque vous créez un nouvel objet CultureInfo pour améliorer la performance du système et réduire l'utilisation de la mémoire.

Améliorations d'E/S

Des améliorations ont été faites à la facilité d'utilisation et à la fonctionnalité de différentes classes E/S. Il est maintenant plus facile pour les utilisateurs de lire et d'écrire des fichiers de texte et d'obtenir des informations sur un lecteur.

Vous pouvez maintenant utiliser les classes dans l'espace de noms System.IO.Compression pour lire et écrire des données avec la compression et la décompression GZIP standard, décrites dans les spécifications RFC 1951 et RFC 1952 de l'IETF qui sont disponibles sur la page de recherche IETF Request for Comments (RFC) (en anglais). Remarque : La recherche est limitée aux numéros RFC.

Activation basée sur manifeste

Cette fonctionnalité permet désormais la prise en charge du chargement et de l'activation d'applications via l'utilisation d'un manifeste. L'activation basée sur manifeste est essentielle pour la prise en charge d'applications ClickOnce. Traditionnellement, les applications sont activées via une référence à un assembly qui contient le point d'entrée de l'application. Par exemple, cliquer sur le fichier .exe d'une application depuis l'intérieur du shell Windows provoque le chargement par le shell du Common Language Runtime (CLR) et l'appel d'un point d'entrée connu dans l'assembly de ce fichier .exe.

Le modèle d'activation basée sur un manifeste utilise un manifeste d'application pour l'activation plutôt qu'un assembly. Un manifeste décrit complètement l'application, ses dépendances, ses conditions de sécurité, etc. Le modèle de manifeste offre plusieurs avantages par rapport au modèle d'activation basé sur un assembly, en particulier pour les applications Web. Par exemple, le manifeste contient les conditions de sécurité de l'application, ce qui permet à l'utilisateur de décider s'il faut autoriser l'application à s'exécuter avant de télécharger le code. Le manifeste contient également des informations à propos des dépendances de l'application.

L'activation basée sur manifeste est assurée par un jeu d'API qui autorisent les hôtes managés à activer des applications et des compléments décrits par un manifeste. Ces API contiennent un mélange de classes nouvelles et d'extensions de classes existantes.

Ce modèle d'activation appelle également une entité appelée un Gestionnaire de confiance qui effectue les tâches suivantes :

  1. Détermine si une application est autorisée à être activée. Cette décision peut être prise par sollicitation de l'utilisateur, interrogation de la stratégie, ou tout autre moyen jugé approprié pour un Gestionnaire de confiance donné.

  2. Définit le contexte de sécurité dans lequel exécuter une application. Plus communément, cette étape implique de définir une arborescence de stratégie de sécurité d'accès du code (CAS) sur le domaine d'application dans lequel l'application s'exécutera.

Accès distant .NET Framework

L'accès distant .NET Framework prend maintenant en charge les adresses IPv6 et l'échange de types génériques. Les classes dans l'espace de noms System.Runtime.Remoting.Channels.Tcp prennent en charge l'authentification et le chiffrement à l'aide de l'interface SSPI (Security Support Provider Interface). Les classes dans le nouvel espace de noms System.Runtime.Remoting.Channels.Ipc autorisent des applications situées sur le même ordinateur à communiquer rapidement sans utiliser le réseau. Enfin, vous pouvez maintenant configurer le délai d'expiration du cache de la connexion et le nombre de tentatives de la méthode, ce qui peut améliorer la performance des clusters distants avec équilibrage de charge.

Obtention d'informations sur la configuration et l'utilisation réseau d'un ordinateur local

À l'aide de classes dans l'espace de noms System.Net.NetworkInformation, les applications peuvent accéder à des statistiques de trafic réseau IP, IPv4, IPv6, TCP et UDP. Les applications peuvent également consulter des informations d'adresse et de configuration pour les cartes réseau de l'ordinateur local. Ces informations sont semblables aux informations retournées par l'outil de ligne de commande Ipconfig.exe.

Ping

La classe Ping permet à une application de déterminer si un ordinateur distant est accessible sur le réseau. Cette classe fournit une fonctionnalité semblable à l'outil de ligne de commande Ping.exe, et prend en charge les appels synchrones et asynchrones.

Traitement des requêtes HTTP provenant des applications

Vous pouvez utiliser la classe HttpListener pour créer un serveur Web simple qui répond aux requêtes HTTP. Le serveur Web est actif pendant la durée de vie de l'objet HttpListener et s'exécute au sein de votre application avec les autorisations de votre application. Cette classe n'est disponible que sur des ordinateurs exécutant les systèmes d'exploitation Windows XP Service Pack 2 ou Windows Server 2003.

Contrôle par programmation de la mise en cache

À l'aide des classes présentes dans l'espace de noms System.Net.Cache, les applications peuvent contrôler la mise en cache de ressources obtenues à l'aide des classes WebRequest, WebResponse et WebClient. Vous pouvez utiliser les stratégies de cache prédéfinies fournies par le .NET Framework ou spécifier une stratégie de cache personnalisée. Vous pouvez spécifier une stratégie de cache pour chaque demande et définir une stratégie de cache par défaut pour les demandes qui ne spécifient pas de stratégie de cache.

Langages de programmation

Quatre langages de programmation Microsoft ciblent explicitement le .NET Framework : Visual C#, Microsoft C/C++, Visual J# et Visual Basic.

Compilateur et langage Visual Basic

Les améliorations apportées au langage en Visual Basic simplifient le code source et autorisent une interaction avec des composants qui utilisent des fonctionnalités avancées.

Compilateur

Visual Basic introduit une nouvelle constante de compilation conditionnelle, VBC_VER, pour tous les projets. Cette version a la valeur VBC_VER 8.0.

Le compilateur de ligne de commande Visual Basic stocke maintenant les options de ligne de commande par défaut dans le fichier Vbc.rsp, dans le même répertoire que le compilateur de ligne de commande (Vbc.exe). Vous pouvez modifier Vbc.rsp pour reconfigurer les options de ligne de commande par défaut.

Il existe quatre nouvelles options de compilateur de ligne de commande :

  • L'option /doc génère un fichier de documentation XML basé sur les commentaires dans votre code.

  • Avec l'option /noconfig, le compilateur ignore le fichier Vbc.rsp.

  • L'option /codepage spécifie quelle page de codes utiliser lors de l'ouverture de fichiers sources.

  • L'option /filealign spécifie la taille des sections dans le fichier de sortie.

  • L'option /nostdlib (Visual Basic) empêche le compilateur de référencer les bibliothèques standard.

Pour plus d'informations, consultez Options du compilateur Visual Basic.

Langage

Il existe plusieurs éléments nouveaux dans cette version du langage Visual Basic :

Exceptions de sécurité

La classe System.Security.SecurityException a été étendue pour fournir des données supplémentaires destinées à faciliter l'examen de la cause des exceptions de sécurité. Les nouvelles propriétés fournissent des informations qui incluent la méthode dans laquelle l'exception s'est produite, la première autorisation qui a échoué, la zone ou l'URL de l'assembly, l'action de sécurité qui a échoué et l'action de sécurité sur la pile des appels, telle que Deny ou PermitOnly qui a provoqué l'exception.

Prise en charge de périphérique d'E/S série

La nouvelle classe SerialPort fournit des applications capables d'accéder aux ports série sur un ordinateur et communiquer avec les périphériques d'E/S série.

Sérialisation

Les classes BinaryFormatter et SoapFormatter prennent maintenant en charge la sérialisation à tolérance de version, qui permet à un type d'être désérialisé de la sérialisation d'une version différente. Pour plus d'informations, consultez Sérialisation avec tolérance de version.

La sérialisation XML prend maintenant en charge l'utilisation de propriétés au lieu de champs pour représenter des éléments de schéma, la sérialisation de types génériques et l'utilisation de la structure Nullable<T> pour représenter des éléments nullables. L'interface IXmlSerializable prend en charge la génération de schéma personnalisée. SchemaImporterExtension vous permet de contrôler la génération de code proxy en modifiant les schémas pendant leur importation. Par exemple, vous pouvez modifier le proxy généré lors de l'utilisation de la fonctionnalité Ajouter une référence Web de Visual Studio, ou lors de l'utilisation de l'Outil Web Services Description Language Tool (Wsdl.exe).

Le nouvel Outil XML Serializer Generator (Sgen.exe) vous permet de précompiler le code utilisé par les clients de services Web pour sérialiser les informations transmises, ce qui améliore grandement la durée de démarrage du client. Pour plus d'informations, consultez Introduction à la sérialisation XML.

Prise en charge SMTP

À l'aide des classes dans les espaces de noms System.Net.Mail et System.Net.Mime, les applications peuvent envoyer des courriers électroniques à un ou plusieurs destinataires. Le courrier peut être envoyé dans des affichages différents et inclure des pièces jointes. L'envoi de copies conformes et de copies conformes invisibles est également pris en charge.

Prise en charge de ressources fortement typées

L'Outil Resource File Generator Tool (Resgen.exe) crée des fichiers de ressources qui sont incorporés dans les fichiers exécutables et les assemblys satellites. Resgen.exe produit une classe wrapper pour chaque fichier de ressources, ce qui facilite votre accès aux ressources et évite les fautes d'orthographe dans le nom des ressources.

Améliorations du threading

Vous pouvez maintenant nommer les événements de communication interprocessus qui sont créés exclusivement en code managé. La classe Semaphore prend également en charge le décompte de ressources spécialisé.

Filtrage des données de trace

Le .NET Framework 2.0 fournit des classes qui tracent et enregistrent les événements système liés aux E/S, le démarrage et l'arrêt d'application, et ainsi de suite. Toutefois, le volume énorme et la diversité des types d'informations de traçage rendent difficile l'analyse de ces données par les utilisateurs. Cette prise en charge du filtrage des données de trace vous permet de spécifier le type d'informations à enregistrer en journal.

Transactions

Le nouvel espace de noms System.Transactions contient des classes qui permettent à vos applications de participer aux transactions gérées par le DTC (Microsoft Distributed Transaction Coordinator) ou le gestionnaire de transactions local. L'espace de noms System.Transactions fournit un modèle de programmation explicite basé sur la classe Transaction et un modèle de programmation implicite à l'aide de la classe TransactionScope, dans lequel les transactions sont gérées automatiquement par l'infrastructure. Cette infrastructure de transaction peut facilement interagir avec l'infrastructure de transaction System.EnterpriseServices (COM+) existante. L'espace de noms System.Transactions fournit également des classes pour implémenter un gestionnaire de ressources. Un gestionnaire de ressources gère les données durables ou volatiles utilisées dans une transaction et travaille en collaboration avec le gestionnaire de transactions pour garantir l'atomicité et l'isolation de l'application.

Services Web

Les services Web prennent en charge SOAP 1.2 et le WS-I Basic Profile 1.0, qui est documenté dans "Organisation de l'interopérabilité des services Web - Profil de base version 1.0".

En consommant deux services Web, ou plus, qui définissent un type partagé, les proxies clients générés pour ces services Web partagent le type correspondant sur le client. Cela permet aux clients de passer facilement des instances de types partagés parmi les services Web.

Vous pouvez maintenant appeler des méthodes Web de façon asynchrone à l'aide d'un modèle de programmation basé sur événement.

Fonctionnalités liées aux Windows Forms

Déploiement ClickOnce

Le déploiement ClickOnce vous permet de déployer des applications Windows à mise à jour automatique pouvant être installées, mises à jour et exécutées aussi facilement que des applications Web. Vous pouvez déployer des applications clientes Windows et en ligne de commande. Il existe de nouvelles commandes Publier Projet dans les menus Générer et Projet de Visual Studio. Pour plus d'informations, consultez Vue d'ensemble du déploiement ClickOnce.

Paramètres d'application

Les paramètres d'application pour Windows Forms facilitent la création, le stockage et la gestion des préférences personnalisées d'utilisateur et d'application sur l'ordinateur client. Grâce aux paramètres Windows Forms, vous pouvez stocker non seulement des données d'application, telles que des chaînes de connexion à une base de données, mais également des données spécifiques à l'utilisateur, telles que les positions des barres d'outils et les listes les plus récemment utilisées. Pour plus d'informations, consultez Vue d'ensemble des paramètres d'application.

Nouveau modèle de liaison de données

Le composant BindingSource simplifie le processus de liaison de données, car il joue le rôle d'intermédiaire entre le contrôle lié et la source de données cible. Il gère automatiquement nombre des problèmes de liaison les plus complexes, tels que les devises, les événements liés aux données et les modifications apportées aux sources de données cibles. Il est également destiné à interagir avec d'autres contrôles Windows Forms liés aux données, en particulier les contrôles BindingNavigator et DataGridView. Pour plus d'informations, consultez Composant BindingSource. Le composant BindingSource simplifie le processus de liaison de contrôles à une source de données sous-jacente. Il agit à la fois comme un conduit et une source de données à laquelle les autres contrôles se lient.

Nouveaux contrôles Windows Forms

Le contrôle DataGridView offre un moyen puissant et flexible d'afficher des données sous forme de tableau. Il peut être utilisé pour afficher une petite quantité de données en lecture seule ou être mis à l'échelle pour afficher des vues modifiables de groupes de données très volumineux. Les données peuvent résider dans une source de données externe ou être directement ajoutées au contrôle. Pour plus d'informations, consultez Vue d'ensemble du contrôle DataGridView (Windows Forms).

Les contrôles ToolStrip sont des barres d'outils qui peuvent contenir les menus, les contrôles et les contrôles utilisateur présents dans les applications Windows Forms. La classe ToolStrip et ses classes associées vous permettent de créer des barres d'outils et d'autres éléments d'interface utilisateur dans un style cohérent avec Microsoft Windows XP, Microsoft Office et Microsoft Internet Explorer. Vous pouvez également utiliser ces classes pour personnaliser des barres d'outils et des éléments d'interface utilisateur. Pour plus d'informations, consultez Vue d'ensemble du contrôle ToolStrip (Windows Forms).

Le contrôle MaskedTextBox utilise une définition de masque pour différencier les entrées d'utilisateur valides et non valides. Pour plus d'informations, consultez MaskedTextBox, contrôle (Windows Forms).

La classe Windows Forms SoundPlayer vous permet d'inclure facilement des sons dans vos applications. La classe SoundPlayer peut lire des fichiers audio au format .wav, soit d'une ressource, soit d'un emplacement UNC ou HTTP. En outre, la classe SoundPlayer vous permet de charger ou lire des sons de façon asynchrone. Pour plus d'informations, consultez SoundPlayer, classe.

Le contrôle SplitContainer Windows Forms peut être considéré comme un composite ; il s'agit de deux panneaux séparés par une barre mobile. Lorsque le pointeur de la souris se trouve au-dessus de la barre, il change pour montrer que la barre est mobile. Utilisez ce contrôle pour créer des interfaces utilisateur complexes et redimensionnables qui sont efficaces pour afficher et parcourir des informations. Pour plus d'informations, consultez SplitContainer, contrôle.

Le contrôle ListView prend maintenant en charge trois fonctionnalités fournies par Windows XP et la famille Windows Server 2003 : affichage en mosaïque, groupement et repositionnement d'élément par glisser-déplacer.

Les contrôles ListView, TreeView et ToolTip prennent maintenant en charge la fonctionnalité de dessin Owner Draw, semblable à la prise en charge du dessin Owner Draw des contrôles ComboBox, ListBox, MenuItem et TabControl de la version antérieure.

Le contrôle WebBrowser vous permet d'héberger des pages Web dans vos applications Windows Forms. Vous pouvez utiliser le contrôle WebBrowser pour fournir une aide HTML intégrée ou des fonctionnalités de navigation Web dans votre application. En outre, vous pouvez utiliser le contrôle WebBrowser pour convertir des applications Web existantes en applications clientes qui intègrent de façon transparente le code DHTML (HTML dynamique) avec les fonctions d'interface utilisateur des Windows Forms. Pour plus d'informations, consultez Vue d'ensemble du contrôle WebBrowser.

Le contrôle FlowLayoutPanel place son contenu dans un sens de déroulement horizontal ou vertical. Le contrôle TableLayoutPanel réorganise son contenu dans une grille. Étant donné que la disposition s'effectue au moment du design et au moment de l'exécution, elle peut changer dynamiquement lorsque l'environnement de l'application change. Pour plus d'informations, consultez Vue d'ensemble du contrôle FlowLayoutPanel et Vue d'ensemble du contrôle TableLayoutPanel.

Le composant BackgroundWorker vous permet d'effectuer des opérations d'arrière-plan dont l'exécution peut prendre beaucoup de temps, telles que des téléchargements d'image et des transactions de base de données. Pour plus d'informations, consultez Vue d'ensemble du composant BackgroundWorker.

Le modèle asynchrone de composants est un modèle piloté par événement qui offre les avantages des applications multithread sans les nombreux problèmes complexes inhérents au design multithread. Pour plus d'informations, consultez Modèle asynchrone de composants.

Fonctionnalités liées à XML

Le .NET Framework 2.0 apporte de nombreuses améliorations, y compris un nouveau processeur XSLT (XSL Transformation), la prise en charge des types dans les classes XmlReader, XmlWriter et XPathNavigator, et de nouvelles fonctions d'édition dans la classe XPathNavigator. De plus, il existe un nouveau modèle pour créer des objets XmlReader et XmlWriter, et de nombreuses améliorations en matière de performance. Pour plus d'informations, consultez Nouveautés dans System.Xml.

Voir aussi

Concepts

Tableau de recherche rapide des technologies

Autres ressources

Vue d'ensemble du .NET Framework