Rencontres Windows Forms Mitsuru FURUTA - mitsufu@microsoft.com
HP Partenaire Mondial de Microsoft Intégrateur des technologies Microsoft : Plus de 10M de postes Windows 2000/XP déployés Plus de 13M de postes MS Exchange 2000/2003 déployés Services de support Microsoft Développement conjoint de solutions verticales : HP OpenBank – Banque HP CBI.NET – Industrie HP ISM.NET – Telecom Centre d’expertise et de benchmarks dédiés Microsoft Un portfolio de solutions pour une infrastructure Microsoft étendue Serveurs 32 et 64 bits Stockage NAS, SAN Postes de travail… Windows Mobile Phone Edition Windows XP Edition Tablette PC
Découvrez la nouvelle génération d’environnement de développement pour les Professionnels à prix spécial ! Visual Studio .NET 2003 offre un environnement de développement complet et intégré pour créer, déboguer et déployer des applications pour Microsoft Windows, le Web et les périphériques mobiles. Le nouveau Microsoft® Visual Studio .NET 2003 Professional Edition spéciale offre toute la productivité de Visual Studio .NET 2003 Professional et inclut également: Windows Server™ 2003 Standard Edition* SQL Server™ 2000 Developer Edition* Les outils Microsoft Visual Studio Tools pour Microsoft Office System – utilisez la puissance du .NET Framework pour écrire du code destiné à des applications Microsoft Word 2003 et Microsoft Excel 2003 Le CD des labs .NET – pour s’auto former sur les technologies de développement .NET. Un livre de formation à ASP .NET. Faites la mise à jour à partir d’outils Microsoft ou applications concurrentes VS .NET 2003 Ed Spéciale……… 927 €HT** Mise à Jour……………..……..……632 € HT ** * Licences de test et de developpement ** prix moyen estimés Utilisez Visual Studio .NET Professional 2003 Edition spéciale pour • Créer rapidement des applications Web • Augmenter votre productivité pour tout type d’application • Augmenter la performance de vos applications Pour en savoir plus vous pouvez consulter le site http://www.microsoft.com/france/vstudio/es.mspx
http://www.microsoft.com/france/msdn/abonnements Visual Studio .NET Les abonnements MSDN Soyez toujours à la pointe des derniers développements en cours Les abonnements MSDN donnent accès à l'intégralité des produits et ressources dont les développeurs professionnels ont besoin pour résoudre n'importe quelle problématique de développement, y compris les derniers outils de développement, systèmes d'exploitation et serveurs d'entreprise, ainsi que les applications de productivité personnelle, comme Office 2003 et Visio, la librairie MSDN et un accès au support technique, en fonction du niveau d'abonnement. Ces abonnements sont devenus un service primordial pour les développeurs leur fournissant un accès prioritaire à plus de 1000 produits mis à jour par DVD, CD ou téléchargements comprenant les derniers outils, plates-formes et technologies serveur * A chaque version de Visual Studio .NET (à partir de la version Pro) correspond une version d'abonnement MSDN. Visual Studio .NET est disponible au téléchargement sur le site réservé aux abonnés MSDN Visual Studio .NET inclus* MSDN Library Abonnement 210 € HT** Mise à jour 105 € HT** MSDN Operating System 797 € HT** Mise à jour 576 € HT** MSDN Professional 1368 € HT** Mise à jour 985 € HT** MSDN Enterprise 2562 € HT** Mise à jour 1775 € HT** MSDN Universal 3263 € HT** Mise à jour 2285 € HT** Pour en savoir plus vous pouvez consulter le site http://www.microsoft.com/france/msdn/abonnements ** Prix moyen éstimés
Agenda Cible: .NET 1.1, .NET 2.0, pas de ClickOnce, pas d’accès aux données 13h15 : Présentation .Net / Interopérabilité 14h15 : Windows Forms, les concepts 15h30 : Pause 16h00 : Windows Forms, IHM avancée 17h15 : Visual Studio : création de composants 17h45 : Questions/Réponses
Présentation .Net / Interopérabilité Rappels de l’architecture .Net Impacts dans le développements d’applications Windows Correspondance avec l’existant (API win32)
Présentation .Net / Intéropérabilité Rappels du modèle .Net Plateforme d’exécution CLR et Framework .Net Exécution managée (IL) et compilation en deux temps Unification de la plate forme d’exécution, des langages, du modèle de programmation (Windows, Web, mobile) Les impacts dans les Windows Forms La compilation en deux temps: avantages et inconvénients Nouveau modèle de sécurité Versions et cohabitation des assemblages Déploiement
.NET c’est quoi ? Simplicité et puissant Protocoles Standard Services Web Clients Riches Pages Web Mobilité Composants Sécurité Flux XML XML Modèle Relationnel Toutes les bases
Common Language Specification Framework Class Library Le cœur du Framework Soumis à l’ECMA Visual Studio .NET VB C++ C# J# … Spécification ouvertes Common Language Specification Web Forms Windows Forms Basé XML, SOAP, GXA Web services Données et XML Accès aux données basé XML NotePad / VS / Dreamwever Framework Class Library Soumis à l’ ECMA CLR CLI
Common Languages Runtime Les points essentiels CLR = Runtime .NET Jeu de dlls pour l’exécution de code managé Gestion mémoire par Garbage Collector Managed Memory Gestion de l’éxécution du code par le code manager Managed Code (check de sécurité par exemple) Expose un ensemble de services sous forme d’objet Framework .NET Standards et Spécifications ECMA, ISO : CLInfrastructure et C#
Assembly et compilation Code .NET = Assembly Exe, Dll, .NET Module, Pages AspX, Web Services Tout code .NET est compilé en 2 temps : Code source vers MSIL « Compilateurs syntaxiques » (C#, MC++, J#, VB.NET …) Microsoft Intermediate Language IL vers code binaire Just In Time Compilation Compilateur inclus dans la runtime .NET Tout code .NET est exécuté en binaire Pas d’interpréteur : Just In Time Compilation
The big picture CLR Application .NET Managed Memory Managed Code : Process WIN32 Managed Code : Assembly STACK Memory Unmanaged Code Win32 COM COM+ 1.0 DLL CLR Services JIT Compilation Sécurité Base Classes GC Managed Memory
Exécution DEPLOYMENT DEVELOPMENT EXECUTION Assembly on Target Machine Application Directory Setup Copy Browser Download Cache DEPLOYMENT Global Assembly Cache (GAC) Assembly on Target Machine Install Policy <security> <mscorlib> <configuration> <?xml version="1.0" encoding="utf-8" ?> <policy> version="1" <CodeGroup class="UnionCodeGroup" <PolicyLevel version="1"> PermissionSetName="Nothing" Description="Code group grants no permissio ns and forms the root of the code group tree."> Name="All_Code" <IMembershipCondition clas s="AllMembershipCondition" version="1"/> PermissionSetName="FullTrust" EXECUTION IL to Native Compiler Class Loader Security Assembly Loader Garbage Collection Native .exe + GC table Code Manager Exception Manager Thread Support COM Interop Debug Engine
Démo Hello world !
Interopérabilité win32/COM Problématiques: Appels de fonctions, mapping mémoire, alignement mémoire Utilisation de pointeurs… Pointeurs de fonctions, ex: callback StructLayoutAttribute, FieldOffsetAttribute, GetDelegateForFunctionPointer Chargement statique de librairie Chargement dynamique de librairie
Interopérabilité win32/COM Microsoft Win32 to Microsoft .NET Framework API Map http://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dndotnet/html/win32map.asp Références des fonctions, structures et constantes de l’API Win32 vers .NET http://pinvoke.net/
Interopérabilité win32: chargement et appel de librairies (.dll) Démo Interopérabilité win32: chargement et appel de librairies (.dll)
Interopérabilité win32/COM Interopérabilité COM Client d’un serveur COM (MediaPlayer) La classe AxHost Wrapper un serveur COM existant dans le monde .NET Assurer la compatibilité avec le modèle de composant de .NET Fournir des propriétés compatibles avec le modèle de données de .NET: Dock, énumérés, etc. Librairies managées: DirectX, Office
Interopérabilité win32/COM Interopérabilité COM Création d’un serveur COM Register for COM interop Regasm.exe: les librairies .NET ne sont pas des objets COM ! (mscoree)
Interopérabilité win32/COM Interopérabilité COM Création d’un serveur COM La classe Marshal Implémentation d’interfaces ComImportAttribute InterfaceTypeAttribute ComVisibleAttribute, GuidAttribute ComRegisterFunctionAttribute, ComUnregisterFunctionAttribute
Interopérabilité COM: création d’un client puis d’un serveur COM Démo Interopérabilité COM: création d’un client puis d’un serveur COM
Windows Forms, les concepts Présentation: les fenêtres windows Handle Messages Styles L’affichage: GDI et GDI+ L’affichage multi-fenêtre: l’évènement OnPaint Empilement des messages: blocage GDI+: gradients, rotations, transparence
Windows Forms, les concepts Présentation: les fenêtres windows Création de la fenêtre: CreateParams() Communication avec une fenêtre: SendMessage() Gestion des messages: WndProc() Zone cliente/non cliente Les classes Form et Control
Windows Forms: CreateParams & WndProc Démo Windows Forms: CreateParams & WndProc
Windows Forms: SendMessage Démo Windows Forms: SendMessage
Windows Forms: TabControl sans onglets… Démo Windows Forms: TabControl sans onglets…
Windows Forms, les concepts L’affichage: GDI et GDI+ L’affichage multi-fenêtre: stratégies de superposition et de rafraîchissement Sauvegarde de la mémoire vidéo Réaffichage L’évènement OnPaint Empilement des messages: blocage Double buffer GDI+: gradients, rotations, transparence
Démo Windows Forms: Paint
Windows Forms: StarField Démo Windows Forms: StarField
Windows Forms: CaptureBitmap Démo Windows Forms: CaptureBitmap
Pause Reprise à 16h00
Windows Forms, IHM avancée Les contrôles Windows Forms Les containeurs SplitContainer, TableLayoutPanel, FlowLayoutPanel Les ToolStrips MenuStrip, ToolStrip, StatusStrip, ContextMenuStrip Les contrôles avancés DataGridView, ListView, TreeView, ToolTip, WebBrower, etc…
Windows Forms, IHM avancée Héritage de Form et contrôles utilisateurs Hiérarchie de Forms Ajout de propriétés et évènements Composants/contrôles auto-installés dans la toolbox de Visual Studio 2005
Windows Forms: IHM avancée Démo Windows Forms: IHM avancée
Windows Forms, IHM avancées Interfaces dynamiques Création dynamique de contrôles Externalisation des définitions Liaison dynamique du code XAML Entièrement basé sur un script Xml Peut-être lié à un code behind et/ou contenir du code (modèle ASP.NET) Détache l’application d’un mode de rendu particulier (GDI, DirectX, Web)
Windows Forms: interfaces dynamiques Démo Windows Forms: interfaces dynamiques
Création de contrôles (composants) Propriétés, évènements, attributs Initialisation Collections Accès aux données Editeurs de propriétés Editeurs de composants CodeDom et sérialisation de code…
Windows Forms: création de composants Démo Windows Forms: création de composants
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.