Session Code: CLI391 Windows Forms: Exploiting Windows “Longhorn” Features from Within Your Application Mark Boulter .NET Client Team Microsoft Corporation.

Slides:



Advertisements
Similar presentations
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Advertisements

1 Federating Identity and Authorization Across Organizations and Platforms Matthew Hur Lead Program Manager Microsoft Corporation
Thursday Evening 6.30VB.NET Introduction 7.30Break for food 8.00VB.NET Migration 8.45Q & A 9.00Done.
Module 1: Overview of the Microsoft.NET Framework.
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
1 Introducing ClickOnce: The New Application Deployment Model for Windows Forms and “Avalon” Jamie Cool Program Manager Microsoft.
Advanced Deployment Topics – MSI Enhancements Om Sharma Program Manager, Windows Installer Microsoft Corporation.
Future Directions for Leveraging Advanced XML Tools and Building Custom XML Solutions Denise Draper DAT321 Microsoft Corporation.
Building Rights Management Enabled Applications For Windows "Longhorn" Steve Bourne Chandramouli Venkatesh Microsoft Corporation Steve Bourne Chandramouli.
1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation Shane McRoberts Group Program Manager Microsoft.
2 A First Look at Windows Presentation Foundation Everywhere ("WPF/E") Joe Stegman Lead Program Manager Microsoft Corporation.
Plataformas.NET para desenvolvimento de aplicações web José António Silva
Data Access Design Patterns: Navigating the Data Access Maze Michael Pizzo Software Architect Microsoft Corporation Michael Pizzo Software Architect Microsoft.
1 Using XSD, CLR Types, And Serialization In Web Services Doug Purdy Program Manager Microsoft Corporation Doug Purdy Program Manager.
1 Keyboard, Speech, and Pen Input in Your Controls Kevin Gjerstad Lead Program Manager Kevin Gjerstad Lead Program Manager
Assemblies & Namespaces1. 2 Assemblies (1).NET applications are represented by an assembly An assembly is a collection of all software of which the application.
Module 1: Overview of the Microsoft.NET Platform.
“Indigo”: Building Peer-To-Peer Applications Todd R. Manion Program Manager Microsoft Corporation Todd R. Manion Program Manager.
WEB 304 An Overview of ASP.NET and Windows Workflow Foundation Kashif Alam Program Manager Developer Division Microsoft Corporation.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
OFC290 Information Rights Management in Microsoft Office 2003 Lauren Antonoff Group Program Manager.
1.NET Framework Overview: A Road Map Brad Abrams.NET Framework Team Microsoft Corporation Brad Abrams.NET Framework.
“Indigo”: Connected Application Technology Roadmap
1 Application Model Fundamentals Chris Anderson Software Architect Microsoft Corporation Chris Anderson Software Architect Microsoft.
Name Microsoft Student Partner Overview of the Visual Studio 2005 Express Products.
Microsoft.Net Sven Groot. Common Language Runtime Superset of ECMA Common Language Infrastructure Defines  Language-neutral platform  Intermediate Language.
Windows Role-Based Access Control Longhorn Update
ADO.NET 2.0: Advanced Data Access Patterns Pablo Castro DAT408 ADO.NET Technical Lead Microsoft Corporation.
“Avalon”: Using UI Automation to Improve Application Testability Robert Sinclair Group Manager Microsoft Corporation Robert Sinclair.
1 Integrating Real-time Collaboration into your Applications Stephanie Lindsey Program Manager Microsoft Corporation Stephanie.
1 Interop Best Practices and Common Pitfalls (That We Learned the Hard Way) Please write your name on a card in the back and place it in the box… Please.
NAMESPACE. Namespaces Namespaces are a way to define the classes and other types of information into one hierarchical structure. System is the basic namespace.
DEV332 Programming for the Middle Tier in Visual Basic.NET Billy Hollis Author / Consultant.
SQL Server Notifications: Invalidating Cached Results Michael Pizzo Software Architect Microsoft Corporation Michael Pizzo Software.
Extending Workflow With Custom Activities Dennis Pilarinos COM328 Program Manager Microsoft Corporation.
1 Programming ADO.NET in Whidbey Pablo Castro/Brad Rhodes ADO.NET Team Microsoft Corporation Pablo Castro/Brad Rhodes.
Introducing the Microsoft® .NET Framework
12/29/2017 2:33 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Introducing the Windows Mobile development
5/15/2018 5:43 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Introduction to Windows Azure AppFabric
Using Audio, Video, and Imaging in your Longhorn Applications
Introduction to ASP.NET 2.0
System.Search, aka “Find My Stuff”
Chris Menegay Sr. Consultant TECHSYS Business Solutions
2010 Microsoft BI Conference
Avalon – Using Data In Your Applications
Visual Studio Tools for Office 2005
Transactional Programming In A Windows World
Michael Wallent General Manager Windows Client Platform
Build data-driven collection and list apps using XAML
Mobile Application Development 2005 By Sam Nasr July 25, 2006
“Whidbey” CLR Internals
Explore web development with Microsoft ASP.NET Core 1.0
The Application Lifecycle
11/17/2018 9:30 PM Session Code: ARC 420
MIX 09 11/23/2018 6:07 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Forms and Smart Device Extensions in the End-to-End Application Hans Verbeeck Developer Consultant Microsoft EMEA.
Building Rich, Interactive Controls for Windows “Longhorn”
New User Interface Possibilities in Longhorn
"Avalon": Building Applications With Controls And Dialogs
People And Groups Controls In Windows "Longhorn"
Exploiting WinFX from Win32/MFC Applications
NAMESPACE.
Windows Forms in Visual Studio 2005: An in-depth look at key features
Introduction to ASP.NET Parts 1 & 2
Windows Forms in Visual Studio 2005: An Overview
Mark Quirk Head of Technology Developer & Platform Group
Contexualized Data In Document Authoring
.NET Framework Design Goals
Presentation transcript:

Session Code: CLI391 Windows Forms: Exploiting Windows “Longhorn” Features from Within Your Application Mark Boulter .NET Client Team Microsoft Corporation markbou@microsoft.com

Client Application Model Web & Service Application Model Tools Client Application Model Web & Service Application Model Data Systems Application Model Mobile PC & Devices Application Model Command Line Compact Framework Avalon Windows Forms ASP.NET / Indigo Win FS Yukon System.Console Mobile PC Optimized System.Windows System.Windows.Forms System.Web System.Storage System.Data.SqlServer System.Windows.Forms System.Windows NT Service System.ServiceProcess Presentation Data Communication System.Windows System.Search System.Data System.Messaging System. Discovery System.Collaboration UI Element Explorer Media Annotations SqlClient DataSet System.DirectoryServices RealTimeEndpoint Documents Controls Animation SqlTypes Mapping Active Directory TransientDataSession Monitoring System.Remoting Text Element Dialogs Controls SqlXML ObjectSpaces SignalingSession Logging System.Runtime.Remoting Uddi Shapes SideBar Control OdbcClient ObjectSpace Media Relevance Shape Notification Panel OleDbClient Query Activities Ink Navigation Design OracleClient Schema System.Web.Services System.MessageBus System.Storage Web.Service Transport Queue System.Windows.Forms System.Web.UI Item Core Description Port PubSub Forms Page WebControls Channel Router Relationship Contact Discovery Control Control Adaptors Service Policy Media Location Protocols Printing HtmlControls Design Peer Group Audio Message Design MobileControls Video Document System.Net Images Event System.Web System.Help System.Speech HttpWebRequest NetworkInformation System.Xml Personalization FtpWebListener Sockets System.Drawing Recognition Synthesis Caching Schema Xpath SslClientStream Cache System.NaturalLanguageServices Serialization Query SessionState WebClient Fundamentals Base & Application Services Security Configuration Deployment/Management System.Timers System.Text System.Collections System.Windows. TrustManagement System.Web.Configuration System.Security System.Web System.Globalization System.Design Generic System.MessageBus.Configuration Administration System.Serialization System.IO System.Web. Security Authorization Permissions System.ComponentModel System.Configuration Management System.Threading Ports AccessControl Policy System.CodeDom System.Resources System.Message Bus.Security Credentials Principal System.Management System.Runtime System.Reflection Cryptography Token System.Deployment Serialization InteropServices System.EnterpriseServices System.Diagnostics CompilerServices System.Transactions

Agenda Windows Forms and Longhorn Using WinFX in Windows Forms applications Using Avalon in Windows Forms Using Windows Forms in Avalon Windows Forms and XAML What to do where and how and when

It’s a managed world. . . WinFX builds on the .Net Framework Whidbey is the next step on the way to WinFX .Net Framework applications will just work on Longhorn If you know how to program managed you know how to program to Longhorn

It just works (better) Windows Forms apps just work on Longhorn (No more redist install required - Hoorah!) Windows Forms apps get core improvements for free Example: ClickOnce improvements in Longhorn Example: TrustManager improvements in Longhorn Example: Config system improvements in Longhorn

demo Windows Forms & ClickOnce on Longhorn

Using WinFX with Windows Forms Windows Forms can easily be extended to use WinFX APIs Example: Longhorn communications subsystem (Indigo) Example: Longhorn Storage Subsystem (WinFS) Example: Avalon People Picker control

demo Using WinFX with Windows Forms

Avalon and Windows Forms Avalon provides a host of compelling new UI capabilities for Longhorn You can use Avalon to enhance an existing Windows Forms application Windows Controls You can use Windows Forms to bring existing functionality forward into a new Avalon application Forms Data Model works in both Avalon and Windows Forms

Avalon and Windows Forms ElementHost A Windows Forms control that understands how to host Avalon controls WindowsFormsHost An Avalon control that understands how to host Windows Forms controls Forms and Windows just work

demo Avalon in Windows Forms

Windows Forms in Avalon <?Mapping XmlNamespace="wfi" ClrNamespace="MSAvalon.Windows.Forms.Integration" Assembly="WindowsFormsIntegration" ?> <?Mapping XmlNamespace="wf" ClrNamespace="System.Windows.Forms" Assembly="System.Windows.Forms" ?> <DockPanel ID="root" xmlns="http:////schemas.microsoft.com//2005//xaml//" xmlns:def="Definition“ xmlns:wfi="wfi“ xmlns:wf="wf"> <Button ID="button1" Click="startTest">Avalon StartTest</Button> <wfi:WindowsFormsHost ID="wfh1"> <wfi:WindowsFormsHost.Controls> <wf:FlowPanel Dock="Fill" BackColor="Green" AutoScroll="true"> <wf:FlowPanel.Controls> <wf:Button Click="Golly" BackColor="Red" Text="Test1"/> <wf:Button Click="Golly" BackColor="Red" Text="Test2"/> </wf:FlowPanel.Controls> </wf:FlowPanel> </wfi:WindowsFormsHost.Controls> </wfi:WindowsFormsHost> </DockPanel>

demo Windows Forms in Avalon

Windows Forms and XAML XAML: Windows Forms UI can be described in XAML Declarative XML format for describing the relationship between managed objects Enables separation of UI from code Windows Forms UI can be described in XAML Windows Forms and Avalon controls can be mixed in XAML

Windows Forms in XAML <?Mapping XmlNamespace="wf" ClrNamespace="System.Windows.Forms" Assembly="System.Windows.Forms" ?> <?Mapping XmlNamespace="wfi" ClrNamespace="MSAvalon.Windows.Forms.Integration" Assembly="WindowsFormsIntegration" ?> <wf:Form Name="Form1" xmlns="http:////schemas.microsoft.com//2005//xaml//" xmlns:def="Definition“ xmlns:wf="wf“xmlns:wfi="wfi"> <wf:Form.Controls> <wf:GroupBox Name="GroupBox1" Dock="Fill" BackColor="Purple" Text="Testing"> <wf:GroupBox.Controls> <wf:FlowPanel Dock="Fill" BackColor="Green" AutoScroll="true"> <wf:FlowPanel.Controls> <wf:Button Click="Golly" BackColor="Red" Text="Test1"/> <wf:Button Click="Golly" BackColor="Red" Text="Test2"/> </wf:FlowPanel.Controls> </wf:FlowPanel> </wf:GroupBox.Controls> </wf:GroupBox> </wf:Form.Controls> </wf:Form>

Avalon in Windows Forms <?Mapping XmlNamespace="wf" ClrNamespace="System.Windows.Forms" Assembly="System.Windows.Forms" ?> <?Mapping XmlNamespace="wfi" ClrNamespace="MSAvalon.Windows.Forms.Integration" Assembly="WindowsFormsIntegration" ?> <wf:Form Name="Form1" xmlns="http:////schemas.microsoft.com//2005//xaml//" xmlns:def="Definition“ xmlns:wf="wf“xmlns:wfi="wfi"> <wf:Form.Controls> <wf:GroupBox Name="GroupBox1" Dock="Fill" BackColor="Purple" Text="Testing"> <wf:GroupBox.Controls> <wfi:ElementHost Dock="Fill"> <DockPanel ID=“dp1" Width="100%" Height="100%"> <Button ID="button1" Background="Red">Avalon StartTest</Button> <Button ID="button2" >Avalon StartTest</Button> </DockPanel> </wfi:ElementHost> </wf:GroupBox.Controls> </wf:GroupBox> </wf:Form.Controls> </wf:Form>

demo Avalon in Windows Forms in XAML

Adaptive apps Avalon has great new features Windows Forms runs on all Windows platforms How do I get the best of both worlds? Build applications that detect and use Longhorn features when available Ex: Replace Windows Forms GridView with Avalon ListView control when running on Longhorn Ex: Use People picker to get contact info when running on Longhorn

demo Adaptive Apps

Preparing for Whidbey and Longhorn Start Developing with the .NET V1.1 Build and Deploy Windows Forms applications Develop with code access security in mind Use No-Touch Deployment XML config files for app/user settings Componentize logic and UI

When do I use what? If you are targeting Longhorn only use Avalon If you targeting multiple versions of Windows use Windows Forms Use adaptive techniques to get the best of both worlds Separate logic and UI so that moving to Avalon is easier

Summary Windows Forms is part of WinFX and the Windows Client platform Windows Forms provides a seamless path to Longhorn Windows Forms apps work seamlessly on Longhorn Windows Forms apps can easily use the Longhorn API Incremental Upgrade: Embed Avalon in Windows Forms Preserve Investment: Embed Windows Forms in Avalon

Call to action Move to managed code today: Build and deploy Windows Forms apps Plan to use Longhorn features: Componentize your app If you are targeting Longhorn use Avalon If you are targeting all Windows platforms use Windows Forms Build adaptive apps to take advantage of Longhorn when it is there

Related Sessions Windows Forms Avalon Panels CLI210: Windows Forms: New Features in the .NET Framework "Whidbey" Release   CLI331: Windows Forms: Building Polished Applications with the .NET Framework "Whidbey" CLI211: Windows Forms: Performance Tips and Tricks            MBL303: Windows Forms: Building Occasionally-connected, Async Client Applications CLI330: Windows Forms: Mastering the GridView Control and Databinding in the .NET Framework "Whidbey"     Avalon CLI200: “Avalon”: Introducing the Next Generation of Windows Presentation Services CLI300: "Avalon": Building Applications with Controls and Dialogs CLI303: "Avalon": Creating Windows "Longhorn" User Experiences (Part 1): "Longhorn" Application Model Fundamentals CLI306: "Avalon": Using Data in Your "Avalon" Application: Data Visualization, Databinding and Integration with WinFS and Databases Panels PNL05: Client Architecture: The Zen of Data-Driven Applications

Community Resources Get Your Questions Answered! Web Site: http://www.windowsforms.net Newsgroups: microsoft.public.dotnet.framework.windowsforms  microsoft.public.dotnet.framework.windowsforms.controls microsoft.public.dotnet.framework.windowsforms.databinding microsoft.public.dotnet.framework.windowsforms.designtime microsoft.public.windows.developer.winfx.avalon Longhorn DevCenter: http://msdn.microsoft.com/longhorn Client Track Lounge - Concourse Foyer connect with Microsoft client product teams and PDC 2003 Speakers Ask The Experts: Tuesday 7 pm – 9 pm in Hall G,H PDC Weblogs: http://pdcbloggers.net

© 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.