Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Visual Basic 2005 and Windows Forms 2.0 Enhancements <ul><li>Tyler Whitney </li></ul><ul><li>Microsoft, Corp </li></ul>
Visual Studio 2005 Smart Client Goals <ul><li>Bring the ease and reliability of web application deployment to client appli...
Data Sources Window,  Drag and drop operations <ul><li>Dragging/dropping tables from Data Sources Window onto form will cr...
How It All Connects BindingSource DataSet DataTable DataSource Simple Control DataBinding Property Changes control content...
Summary <ul><li>IDE Settings </li></ul><ul><li>Winform Controls </li></ul><ul><li>Resources </li></ul><ul><li>Application ...
Lookup Binding
Using the Actions Pane, Host Controls, and Smart Tags Donald Drake Development Manager Visual Studio Tools for Office
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Actions Pane Overview <ul><li>Enables contextual UI complementary to the document </li></ul><ul><li>Flexible way of design...
Actions Pane Technology Overview Requires ISmartDocument interface implementation Not required. VSTO takes care of this im...
Adding an Actions Pane <ul><li>Actions pane becomes visible when you add a control to it </li></ul><ul><li>Use Windows For...
Create a Simple Actions Pane
Managing Layout <ul><li>Add multiple controls to the actions pane </li></ul><ul><li>Change the stack order of controls on ...
Managing Control Layout
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
What is a Host Control? <ul><li>A type that extends the host application (Word or Excel) Object Model to provide  new func...
Host Control Features <ul><li>Extends Office object model </li></ul><ul><ul><li>Properties and methods </li></ul></ul><ul>...
Automating Excel without Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Excel <ul><li>Chart </li></ul><ul><li>ListObject </li></ul><ul><li>NamedRange </li></ul><ul><li>XMLMapped...
Creating Excel Host Controls <ul><li>Drag and drop host control from Visual Studio Toolbox </li></ul><ul><li>Drag and drop...
Using Excel Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Word <ul><li>Bookmark </li></ul><ul><li>XMLNode </li></ul>
Creating Word Host Controls <ul><li>Bookmark controls </li></ul><ul><ul><li>Drag/drop from Toolbox </li></ul></ul><ul><ul>...
Using Bookmark Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Dynamic Controls <ul><li>A control (managed or host control) added to the Word or Excel document at runtime  </li></ul><ul...
Managing Dynamic Controls <ul><li>Controls collection references static and dynamic controls </li></ul><ul><li>Create dyna...
Dynamic Controls and Persistence  <ul><li>Dynamic controls are not persisted </li></ul><ul><li>Underlying data in dynamic ...
Dynamic Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
SmartTags Overview <ul><li>What is a SmartTag? </li></ul><ul><ul><li>Context Based Actions </li></ul></ul><ul><li>What mak...
Developing VSTO SmartTags <ul><li>Steps: </li></ul><ul><li>Create a SmartTag instance </li></ul><ul><li>Add strings to rec...
Create a SmartTag Instance <ul><li>Create a SmartTag object </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Smar...
Create a SmartTag Instance <ul><li>Constructor Parameters </li></ul><ul><ul><li>SmartTag type </li></ul></ul><ul><ul><li>C...
Add Strings to Recognize  <ul><li>Terms Collection </li></ul><ul><ul><li>Static strings </li></ul></ul><ul><li>Expressions...
Add Actions <ul><li>Create Action objects </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Action </li></ul></ul>...
Add Action Click Event <ul><li>Create Click event for action </li></ul>action1.Click += ne w ActionClickEventHandler(actio...
Register SmartTag with Document <ul><li>VstoSmartTagsCollection </li></ul><ul><ul><li>Excel: ThisWorkbook class </li></ul>...
Smart Tags
Summary <ul><li>Create actions pane with one line of code </li></ul><ul><li>Manage actions pane control layout </li></ul><...
Next Steps <ul><li>Participate in our newsgroups and web forum </li></ul><ul><ul><li>microsoft.public.vsnet.vstools.office...
For More Information <ul><li>Visit the VSTO sections of these MSDN ®  Developer Centers </li></ul><ul><ul><li>Office Devel...
<ul><li>Questions? </li></ul>
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes n...
Why extend Office OM? <ul><li>But the types exposed lack some features that .NET developers take for granted in Winforms <...
XMLMappedRange Host Control <ul><li>Mapping cells in an Excel worksheet to an XML Schema is a feature provided by Excel. <...
Adding Bookmark at Run Time private void bookmarkExample() { Microsoft.Office.Tools.Word.Bookmark  bookmark1 = this.Contro...
Outlook Solutions <ul><li>Add custom menu with buttons to standard menu bar </li></ul><ul><li>Display custom forms </li></...
Outlook Task Add-in Solution
Using the Actions Pane, Host Controls, and Smart Tags Donald Drake Development Manager Visual Studio Tools for Office
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Actions Pane Overview <ul><li>Enables contextual UI complementary to the document </li></ul><ul><li>Flexible way of design...
Actions Pane Technology Overview Requires ISmartDocument interface implementation Not required. VSTO takes care of this im...
Adding an Actions Pane <ul><li>Actions pane becomes visible when you add a control to it </li></ul><ul><li>Use Windows For...
Create a Simple Actions Pane
Managing Layout <ul><li>Add multiple controls to the actions pane </li></ul><ul><li>Change the stack order of controls on ...
Managing Control Layout
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
What is a Host Control? <ul><li>A type that extends the host application (Word or Excel) Object Model to provide  new func...
Host Control Features <ul><li>Extends Office object model </li></ul><ul><ul><li>Properties and methods </li></ul></ul><ul>...
Automating Excel without Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Excel <ul><li>Chart </li></ul><ul><li>ListObject </li></ul><ul><li>NamedRange </li></ul><ul><li>XMLMapped...
Creating Excel Host Controls <ul><li>Drag and drop host control from Visual Studio Toolbox </li></ul><ul><li>Drag and drop...
Using Excel Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Word <ul><li>Bookmark </li></ul><ul><li>XMLNode </li></ul>
Creating Word Host Controls <ul><li>Bookmark controls </li></ul><ul><ul><li>Drag/drop from Toolbox </li></ul></ul><ul><ul>...
Using Bookmark Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Dynamic Controls <ul><li>A control (managed or host control) added to the Word or Excel document at runtime  </li></ul><ul...
Managing Dynamic Controls <ul><li>Controls collection references static and dynamic controls </li></ul><ul><li>Create dyna...
Dynamic Controls and Persistence  <ul><li>Dynamic controls are not persisted </li></ul><ul><li>Underlying data in dynamic ...
Dynamic Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
SmartTags Overview <ul><li>What is a SmartTag? </li></ul><ul><ul><li>Context Based Actions </li></ul></ul><ul><li>What mak...
Developing VSTO SmartTags <ul><li>Steps: </li></ul><ul><li>Create a SmartTag instance </li></ul><ul><li>Add strings to rec...
Create a SmartTag Instance <ul><li>Create a SmartTag object </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Smar...
Create a SmartTag Instance <ul><li>Constructor Parameters </li></ul><ul><ul><li>SmartTag type </li></ul></ul><ul><ul><li>C...
Add Strings to Recognize  <ul><li>Terms Collection </li></ul><ul><ul><li>Static strings </li></ul></ul><ul><li>Expressions...
Add Actions <ul><li>Create Action objects </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Action </li></ul></ul>...
Add Action Click Event <ul><li>Create Click event for action </li></ul>action1.Click += ne w ActionClickEventHandler(actio...
Register SmartTag with Document <ul><li>VstoSmartTagsCollection </li></ul><ul><ul><li>Excel: ThisWorkbook class </li></ul>...
Smart Tags
Summary <ul><li>Create actions pane with one line of code </li></ul><ul><li>Manage actions pane control layout </li></ul><...
Next Steps <ul><li>Participate in our newsgroups and web forum </li></ul><ul><ul><li>microsoft.public.vsnet.vstools.office...
For More Information <ul><li>Visit the VSTO sections of these MSDN ®  Developer Centers </li></ul><ul><ul><li>Office Devel...
<ul><li>Questions? </li></ul>
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes n...
Why extend Office OM? <ul><li>But the types exposed lack some features that .NET developers take for granted in Winforms <...
XMLMappedRange Host Control <ul><li>Mapping cells in an Excel worksheet to an XML Schema is a feature provided by Excel. <...
Adding Bookmark at Run Time private void bookmarkExample() { Microsoft.Office.Tools.Word.Bookmark  bookmark1 = this.Contro...
Outlook Solutions <ul><li>Add custom menu with buttons to standard menu bar </li></ul><ul><li>Display custom forms </li></...
Outlook Task Add-in Solution
Using the Actions Pane, Host Controls, and Smart Tags Donald Drake Development Manager Visual Studio Tools for Office
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Actions Pane Overview <ul><li>Enables contextual UI complementary to the document </li></ul><ul><li>Flexible way of design...
Actions Pane Technology Overview Requires ISmartDocument interface implementation Not required. VSTO takes care of this im...
Adding an Actions Pane <ul><li>Actions pane becomes visible when you add a control to it </li></ul><ul><li>Use Windows For...
Create a Simple Actions Pane
Managing Layout <ul><li>Add multiple controls to the actions pane </li></ul><ul><li>Change the stack order of controls on ...
Managing Control Layout
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
What is a Host Control? <ul><li>A type that extends the host application (Word or Excel) Object Model to provide  new func...
Host Control Features <ul><li>Extends Office object model </li></ul><ul><ul><li>Properties and methods </li></ul></ul><ul>...
Automating Excel without Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Excel <ul><li>Chart </li></ul><ul><li>ListObject </li></ul><ul><li>NamedRange </li></ul><ul><li>XMLMapped...
Creating Excel Host Controls <ul><li>Drag and drop host control from Visual Studio Toolbox </li></ul><ul><li>Drag and drop...
Using Excel Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Word <ul><li>Bookmark </li></ul><ul><li>XMLNode </li></ul>
Creating Word Host Controls <ul><li>Bookmark controls </li></ul><ul><ul><li>Drag/drop from Toolbox </li></ul></ul><ul><ul>...
Using Bookmark Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Dynamic Controls <ul><li>A control (managed or host control) added to the Word or Excel document at runtime  </li></ul><ul...
Managing Dynamic Controls <ul><li>Controls collection references static and dynamic controls </li></ul><ul><li>Create dyna...
Dynamic Controls and Persistence  <ul><li>Dynamic controls are not persisted </li></ul><ul><li>Underlying data in dynamic ...
Dynamic Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
SmartTags Overview <ul><li>What is a SmartTag? </li></ul><ul><ul><li>Context Based Actions </li></ul></ul><ul><li>What mak...
Developing VSTO SmartTags <ul><li>Steps: </li></ul><ul><li>Create a SmartTag instance </li></ul><ul><li>Add strings to rec...
Create a SmartTag Instance <ul><li>Create a SmartTag object </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Smar...
Create a SmartTag Instance <ul><li>Constructor Parameters </li></ul><ul><ul><li>SmartTag type </li></ul></ul><ul><ul><li>C...
Add Strings to Recognize  <ul><li>Terms Collection </li></ul><ul><ul><li>Static strings </li></ul></ul><ul><li>Expressions...
Add Actions <ul><li>Create Action objects </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Action </li></ul></ul>...
Add Action Click Event <ul><li>Create Click event for action </li></ul>action1.Click += ne w ActionClickEventHandler(actio...
Register SmartTag with Document <ul><li>VstoSmartTagsCollection </li></ul><ul><ul><li>Excel: ThisWorkbook class </li></ul>...
Smart Tags
Summary <ul><li>Create actions pane with one line of code </li></ul><ul><li>Manage actions pane control layout </li></ul><...
Next Steps <ul><li>Participate in our newsgroups and web forum </li></ul><ul><ul><li>microsoft.public.vsnet.vstools.office...
For More Information <ul><li>Visit the VSTO sections of these MSDN ®  Developer Centers </li></ul><ul><ul><li>Office Devel...
<ul><li>Questions? </li></ul>
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes n...
Why extend Office OM? <ul><li>But the types exposed lack some features that .NET developers take for granted in Winforms <...
XMLMappedRange Host Control <ul><li>Mapping cells in an Excel worksheet to an XML Schema is a feature provided by Excel. <...
Adding Bookmark at Run Time private void bookmarkExample() { Microsoft.Office.Tools.Word.Bookmark  bookmark1 = this.Contro...
Outlook Solutions <ul><li>Add custom menu with buttons to standard menu bar </li></ul><ul><li>Display custom forms </li></...
Outlook Task Add-in Solution
Using the Actions Pane, Host Controls, and Smart Tags Donald Drake Development Manager Visual Studio Tools for Office
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Actions Pane Overview <ul><li>Enables contextual UI complementary to the document </li></ul><ul><li>Flexible way of design...
Actions Pane Technology Overview Requires ISmartDocument interface implementation Not required. VSTO takes care of this im...
Adding an Actions Pane <ul><li>Actions pane becomes visible when you add a control to it </li></ul><ul><li>Use Windows For...
Create a Simple Actions Pane
Managing Layout <ul><li>Add multiple controls to the actions pane </li></ul><ul><li>Change the stack order of controls on ...
Managing Control Layout
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
What is a Host Control? <ul><li>A type that extends the host application (Word or Excel) Object Model to provide  new func...
Host Control Features <ul><li>Extends Office object model </li></ul><ul><ul><li>Properties and methods </li></ul></ul><ul>...
Automating Excel without Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Excel <ul><li>Chart </li></ul><ul><li>ListObject </li></ul><ul><li>NamedRange </li></ul><ul><li>XMLMapped...
Creating Excel Host Controls <ul><li>Drag and drop host control from Visual Studio Toolbox </li></ul><ul><li>Drag and drop...
Using Excel Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Word <ul><li>Bookmark </li></ul><ul><li>XMLNode </li></ul>
Creating Word Host Controls <ul><li>Bookmark controls </li></ul><ul><ul><li>Drag/drop from Toolbox </li></ul></ul><ul><ul>...
Using Bookmark Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Dynamic Controls <ul><li>A control (managed or host control) added to the Word or Excel document at runtime  </li></ul><ul...
Managing Dynamic Controls <ul><li>Controls collection references static and dynamic controls </li></ul><ul><li>Create dyna...
Dynamic Controls and Persistence  <ul><li>Dynamic controls are not persisted </li></ul><ul><li>Underlying data in dynamic ...
Dynamic Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
SmartTags Overview <ul><li>What is a SmartTag? </li></ul><ul><ul><li>Context Based Actions </li></ul></ul><ul><li>What mak...
Developing VSTO SmartTags <ul><li>Steps: </li></ul><ul><li>Create a SmartTag instance </li></ul><ul><li>Add strings to rec...
Create a SmartTag Instance <ul><li>Create a SmartTag object </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Smar...
Create a SmartTag Instance <ul><li>Constructor Parameters </li></ul><ul><ul><li>SmartTag type </li></ul></ul><ul><ul><li>C...
Add Strings to Recognize  <ul><li>Terms Collection </li></ul><ul><ul><li>Static strings </li></ul></ul><ul><li>Expressions...
Add Actions <ul><li>Create Action objects </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Action </li></ul></ul>...
Add Action Click Event <ul><li>Create Click event for action </li></ul>action1.Click += ne w ActionClickEventHandler(actio...
Register SmartTag with Document <ul><li>VstoSmartTagsCollection </li></ul><ul><ul><li>Excel: ThisWorkbook class </li></ul>...
Smart Tags
Summary <ul><li>Create actions pane with one line of code </li></ul><ul><li>Manage actions pane control layout </li></ul><...
Next Steps <ul><li>Participate in our newsgroups and web forum </li></ul><ul><ul><li>microsoft.public.vsnet.vstools.office...
For More Information <ul><li>Visit the VSTO sections of these MSDN ®  Developer Centers </li></ul><ul><ul><li>Office Devel...
<ul><li>Questions? </li></ul>
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes n...
Why extend Office OM? <ul><li>But the types exposed lack some features that .NET developers take for granted in Winforms <...
XMLMappedRange Host Control <ul><li>Mapping cells in an Excel worksheet to an XML Schema is a feature provided by Excel. <...
Adding Bookmark at Run Time private void bookmarkExample() { Microsoft.Office.Tools.Word.Bookmark  bookmark1 = this.Contro...
Outlook Solutions <ul><li>Add custom menu with buttons to standard menu bar </li></ul><ul><li>Display custom forms </li></...
Outlook Task Add-in Solution
Visual Basic 2005 and Windows Forms 2.0 Enhancements <ul><li>Tyler Whitney </li></ul><ul><li>Microsoft, Corp </li></ul>
Visual Studio 2005 Smart Client Goals <ul><li>Bring the ease and reliability of web application deployment to client appli...
Data Sources Window,  Drag and drop operations <ul><li>Dragging/dropping tables from Data Sources Window onto form will cr...
How It All Connects BindingSource DataSet DataTable DataSource Simple Control DataBinding Property Changes control content...
Summary <ul><li>IDE Settings </li></ul><ul><li>Winform Controls </li></ul><ul><li>Resources </li></ul><ul><li>Application ...
Lookup Binding
Using the Actions Pane, Host Controls, and Smart Tags Donald Drake Development Manager Visual Studio Tools for Office
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Actions Pane Overview <ul><li>Enables contextual UI complementary to the document </li></ul><ul><li>Flexible way of design...
Actions Pane Technology Overview Requires ISmartDocument interface implementation Not required. VSTO takes care of this im...
Adding an Actions Pane <ul><li>Actions pane becomes visible when you add a control to it </li></ul><ul><li>Use Windows For...
Create a Simple Actions Pane
Managing Layout <ul><li>Add multiple controls to the actions pane </li></ul><ul><li>Change the stack order of controls on ...
Managing Control Layout
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
What is a Host Control? <ul><li>A type that extends the host application (Word or Excel) Object Model to provide  new func...
Host Control Features <ul><li>Extends Office object model </li></ul><ul><ul><li>Properties and methods </li></ul></ul><ul>...
Automating Excel without Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Excel <ul><li>Chart </li></ul><ul><li>ListObject </li></ul><ul><li>NamedRange </li></ul><ul><li>XMLMapped...
Creating Excel Host Controls <ul><li>Drag and drop host control from Visual Studio Toolbox </li></ul><ul><li>Drag and drop...
Using Excel Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Word <ul><li>Bookmark </li></ul><ul><li>XMLNode </li></ul>
Creating Word Host Controls <ul><li>Bookmark controls </li></ul><ul><ul><li>Drag/drop from Toolbox </li></ul></ul><ul><ul>...
Using Bookmark Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Dynamic Controls <ul><li>A control (managed or host control) added to the Word or Excel document at runtime  </li></ul><ul...
Managing Dynamic Controls <ul><li>Controls collection references static and dynamic controls </li></ul><ul><li>Create dyna...
Dynamic Controls and Persistence  <ul><li>Dynamic controls are not persisted </li></ul><ul><li>Underlying data in dynamic ...
Dynamic Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
SmartTags Overview <ul><li>What is a SmartTag? </li></ul><ul><ul><li>Context Based Actions </li></ul></ul><ul><li>What mak...
Developing VSTO SmartTags <ul><li>Steps: </li></ul><ul><li>Create a SmartTag instance </li></ul><ul><li>Add strings to rec...
Create a SmartTag Instance <ul><li>Create a SmartTag object </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Smar...
Create a SmartTag Instance <ul><li>Constructor Parameters </li></ul><ul><ul><li>SmartTag type </li></ul></ul><ul><ul><li>C...
Add Strings to Recognize  <ul><li>Terms Collection </li></ul><ul><ul><li>Static strings </li></ul></ul><ul><li>Expressions...
Add Actions <ul><li>Create Action objects </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Action </li></ul></ul>...
Add Action Click Event <ul><li>Create Click event for action </li></ul>action1.Click += ne w ActionClickEventHandler(actio...
Register SmartTag with Document <ul><li>VstoSmartTagsCollection </li></ul><ul><ul><li>Excel: ThisWorkbook class </li></ul>...
Smart Tags
Summary <ul><li>Create actions pane with one line of code </li></ul><ul><li>Manage actions pane control layout </li></ul><...
Next Steps <ul><li>Participate in our newsgroups and web forum </li></ul><ul><ul><li>microsoft.public.vsnet.vstools.office...
For More Information <ul><li>Visit the VSTO sections of these MSDN ®  Developer Centers </li></ul><ul><ul><li>Office Devel...
<ul><li>Questions? </li></ul>
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes n...
Why extend Office OM? <ul><li>But the types exposed lack some features that .NET developers take for granted in Winforms <...
XMLMappedRange Host Control <ul><li>Mapping cells in an Excel worksheet to an XML Schema is a feature provided by Excel. <...
Adding Bookmark at Run Time private void bookmarkExample() { Microsoft.Office.Tools.Word.Bookmark  bookmark1 = this.Contro...
Outlook Solutions <ul><li>Add custom menu with buttons to standard menu bar </li></ul><ul><li>Display custom forms </li></...
Outlook Task Add-in Solution
Using the Actions Pane, Host Controls, and Smart Tags Donald Drake Development Manager Visual Studio Tools for Office
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Actions Pane Overview <ul><li>Enables contextual UI complementary to the document </li></ul><ul><li>Flexible way of design...
Actions Pane Technology Overview Requires ISmartDocument interface implementation Not required. VSTO takes care of this im...
Adding an Actions Pane <ul><li>Actions pane becomes visible when you add a control to it </li></ul><ul><li>Use Windows For...
Create a Simple Actions Pane
Managing Layout <ul><li>Add multiple controls to the actions pane </li></ul><ul><li>Change the stack order of controls on ...
Managing Control Layout
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
What is a Host Control? <ul><li>A type that extends the host application (Word or Excel) Object Model to provide  new func...
Host Control Features <ul><li>Extends Office object model </li></ul><ul><ul><li>Properties and methods </li></ul></ul><ul>...
Automating Excel without Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Excel <ul><li>Chart </li></ul><ul><li>ListObject </li></ul><ul><li>NamedRange </li></ul><ul><li>XMLMapped...
Creating Excel Host Controls <ul><li>Drag and drop host control from Visual Studio Toolbox </li></ul><ul><li>Drag and drop...
Using Excel Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Word <ul><li>Bookmark </li></ul><ul><li>XMLNode </li></ul>
Creating Word Host Controls <ul><li>Bookmark controls </li></ul><ul><ul><li>Drag/drop from Toolbox </li></ul></ul><ul><ul>...
Using Bookmark Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Dynamic Controls <ul><li>A control (managed or host control) added to the Word or Excel document at runtime  </li></ul><ul...
Managing Dynamic Controls <ul><li>Controls collection references static and dynamic controls </li></ul><ul><li>Create dyna...
Dynamic Controls and Persistence  <ul><li>Dynamic controls are not persisted </li></ul><ul><li>Underlying data in dynamic ...
Dynamic Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
SmartTags Overview <ul><li>What is a SmartTag? </li></ul><ul><ul><li>Context Based Actions </li></ul></ul><ul><li>What mak...
Developing VSTO SmartTags <ul><li>Steps: </li></ul><ul><li>Create a SmartTag instance </li></ul><ul><li>Add strings to rec...
Create a SmartTag Instance <ul><li>Create a SmartTag object </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Smar...
Create a SmartTag Instance <ul><li>Constructor Parameters </li></ul><ul><ul><li>SmartTag type </li></ul></ul><ul><ul><li>C...
Add Strings to Recognize  <ul><li>Terms Collection </li></ul><ul><ul><li>Static strings </li></ul></ul><ul><li>Expressions...
Add Actions <ul><li>Create Action objects </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Action </li></ul></ul>...
Add Action Click Event <ul><li>Create Click event for action </li></ul>action1.Click += ne w ActionClickEventHandler(actio...
Register SmartTag with Document <ul><li>VstoSmartTagsCollection </li></ul><ul><ul><li>Excel: ThisWorkbook class </li></ul>...
Smart Tags
Summary <ul><li>Create actions pane with one line of code </li></ul><ul><li>Manage actions pane control layout </li></ul><...
Next Steps <ul><li>Participate in our newsgroups and web forum </li></ul><ul><ul><li>microsoft.public.vsnet.vstools.office...
For More Information <ul><li>Visit the VSTO sections of these MSDN ®  Developer Centers </li></ul><ul><ul><li>Office Devel...
<ul><li>Questions? </li></ul>
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes n...
Why extend Office OM? <ul><li>But the types exposed lack some features that .NET developers take for granted in Winforms <...
XMLMappedRange Host Control <ul><li>Mapping cells in an Excel worksheet to an XML Schema is a feature provided by Excel. <...
Adding Bookmark at Run Time private void bookmarkExample() { Microsoft.Office.Tools.Word.Bookmark  bookmark1 = this.Contro...
Outlook Solutions <ul><li>Add custom menu with buttons to standard menu bar </li></ul><ul><li>Display custom forms </li></...
Outlook Task Add-in Solution
Using the Actions Pane, Host Controls, and Smart Tags Donald Drake Development Manager Visual Studio Tools for Office
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Actions Pane Overview <ul><li>Enables contextual UI complementary to the document </li></ul><ul><li>Flexible way of design...
Actions Pane Technology Overview Requires ISmartDocument interface implementation Not required. VSTO takes care of this im...
Adding an Actions Pane <ul><li>Actions pane becomes visible when you add a control to it </li></ul><ul><li>Use Windows For...
Create a Simple Actions Pane
Managing Layout <ul><li>Add multiple controls to the actions pane </li></ul><ul><li>Change the stack order of controls on ...
Managing Control Layout
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
What is a Host Control? <ul><li>A type that extends the host application (Word or Excel) Object Model to provide  new func...
Host Control Features <ul><li>Extends Office object model </li></ul><ul><ul><li>Properties and methods </li></ul></ul><ul>...
Automating Excel without Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Excel <ul><li>Chart </li></ul><ul><li>ListObject </li></ul><ul><li>NamedRange </li></ul><ul><li>XMLMapped...
Creating Excel Host Controls <ul><li>Drag and drop host control from Visual Studio Toolbox </li></ul><ul><li>Drag and drop...
Using Excel Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Word <ul><li>Bookmark </li></ul><ul><li>XMLNode </li></ul>
Creating Word Host Controls <ul><li>Bookmark controls </li></ul><ul><ul><li>Drag/drop from Toolbox </li></ul></ul><ul><ul>...
Using Bookmark Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Dynamic Controls <ul><li>A control (managed or host control) added to the Word or Excel document at runtime  </li></ul><ul...
Managing Dynamic Controls <ul><li>Controls collection references static and dynamic controls </li></ul><ul><li>Create dyna...
Dynamic Controls and Persistence  <ul><li>Dynamic controls are not persisted </li></ul><ul><li>Underlying data in dynamic ...
Dynamic Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
SmartTags Overview <ul><li>What is a SmartTag? </li></ul><ul><ul><li>Context Based Actions </li></ul></ul><ul><li>What mak...
Developing VSTO SmartTags <ul><li>Steps: </li></ul><ul><li>Create a SmartTag instance </li></ul><ul><li>Add strings to rec...
Create a SmartTag Instance <ul><li>Create a SmartTag object </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Smar...
Create a SmartTag Instance <ul><li>Constructor Parameters </li></ul><ul><ul><li>SmartTag type </li></ul></ul><ul><ul><li>C...
Add Strings to Recognize  <ul><li>Terms Collection </li></ul><ul><ul><li>Static strings </li></ul></ul><ul><li>Expressions...
Add Actions <ul><li>Create Action objects </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Action </li></ul></ul>...
Add Action Click Event <ul><li>Create Click event for action </li></ul>action1.Click += ne w ActionClickEventHandler(actio...
Register SmartTag with Document <ul><li>VstoSmartTagsCollection </li></ul><ul><ul><li>Excel: ThisWorkbook class </li></ul>...
Smart Tags
Summary <ul><li>Create actions pane with one line of code </li></ul><ul><li>Manage actions pane control layout </li></ul><...
Next Steps <ul><li>Participate in our newsgroups and web forum </li></ul><ul><ul><li>microsoft.public.vsnet.vstools.office...
For More Information <ul><li>Visit the VSTO sections of these MSDN ®  Developer Centers </li></ul><ul><ul><li>Office Devel...
<ul><li>Questions? </li></ul>
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes n...
Why extend Office OM? <ul><li>But the types exposed lack some features that .NET developers take for granted in Winforms <...
XMLMappedRange Host Control <ul><li>Mapping cells in an Excel worksheet to an XML Schema is a feature provided by Excel. <...
Adding Bookmark at Run Time private void bookmarkExample() { Microsoft.Office.Tools.Word.Bookmark  bookmark1 = this.Contro...
Outlook Solutions <ul><li>Add custom menu with buttons to standard menu bar </li></ul><ul><li>Display custom forms </li></...
Outlook Task Add-in Solution
Using the Actions Pane, Host Controls, and Smart Tags Donald Drake Development Manager Visual Studio Tools for Office
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Actions Pane Overview <ul><li>Enables contextual UI complementary to the document </li></ul><ul><li>Flexible way of design...
Actions Pane Technology Overview Requires ISmartDocument interface implementation Not required. VSTO takes care of this im...
Adding an Actions Pane <ul><li>Actions pane becomes visible when you add a control to it </li></ul><ul><li>Use Windows For...
Create a Simple Actions Pane
Managing Layout <ul><li>Add multiple controls to the actions pane </li></ul><ul><li>Change the stack order of controls on ...
Managing Control Layout
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
What is a Host Control? <ul><li>A type that extends the host application (Word or Excel) Object Model to provide  new func...
Host Control Features <ul><li>Extends Office object model </li></ul><ul><ul><li>Properties and methods </li></ul></ul><ul>...
Automating Excel without Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Excel <ul><li>Chart </li></ul><ul><li>ListObject </li></ul><ul><li>NamedRange </li></ul><ul><li>XMLMapped...
Creating Excel Host Controls <ul><li>Drag and drop host control from Visual Studio Toolbox </li></ul><ul><li>Drag and drop...
Using Excel Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Host Controls in Word <ul><li>Bookmark </li></ul><ul><li>XMLNode </li></ul>
Creating Word Host Controls <ul><li>Bookmark controls </li></ul><ul><ul><li>Drag/drop from Toolbox </li></ul></ul><ul><ul>...
Using Bookmark Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
Dynamic Controls <ul><li>A control (managed or host control) added to the Word or Excel document at runtime  </li></ul><ul...
Managing Dynamic Controls <ul><li>Controls collection references static and dynamic controls </li></ul><ul><li>Create dyna...
Dynamic Controls and Persistence  <ul><li>Dynamic controls are not persisted </li></ul><ul><li>Underlying data in dynamic ...
Dynamic Host Controls
Agenda <ul><li>Actions Pane  </li></ul><ul><ul><li>Overview </li></ul></ul><ul><ul><li>Managing Control Layout </li></ul><...
SmartTags Overview <ul><li>What is a SmartTag? </li></ul><ul><ul><li>Context Based Actions </li></ul></ul><ul><li>What mak...
Developing VSTO SmartTags <ul><li>Steps: </li></ul><ul><li>Create a SmartTag instance </li></ul><ul><li>Add strings to rec...
Create a SmartTag Instance <ul><li>Create a SmartTag object </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Smar...
Create a SmartTag Instance <ul><li>Constructor Parameters </li></ul><ul><ul><li>SmartTag type </li></ul></ul><ul><ul><li>C...
Add Strings to Recognize  <ul><li>Terms Collection </li></ul><ul><ul><li>Static strings </li></ul></ul><ul><li>Expressions...
Add Actions <ul><li>Create Action objects </li></ul><ul><ul><li>Excel: Microsoft.Office.Tools.Excel.Action </li></ul></ul>...
Add Action Click Event <ul><li>Create Click event for action </li></ul>action1.Click += ne w ActionClickEventHandler(actio...
Register SmartTag with Document <ul><li>VstoSmartTagsCollection </li></ul><ul><ul><li>Excel: ThisWorkbook class </li></ul>...
Smart Tags
Summary <ul><li>Create actions pane with one line of code </li></ul><ul><li>Manage actions pane control layout </li></ul><...
Next Steps <ul><li>Participate in our newsgroups and web forum </li></ul><ul><ul><li>microsoft.public.vsnet.vstools.office...
For More Information <ul><li>Visit the VSTO sections of these MSDN ®  Developer Centers </li></ul><ul><ul><li>Office Devel...
<ul><li>Questions? </li></ul>
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes n...
Why extend Office OM? <ul><li>But the types exposed lack some features that .NET developers take for granted in Winforms <...
XMLMappedRange Host Control <ul><li>Mapping cells in an Excel worksheet to an XML Schema is a feature provided by Excel. <...
Adding Bookmark at Run Time private void bookmarkExample() { Microsoft.Office.Tools.Word.Bookmark  bookmark1 = this.Contro...
Outlook Solutions <ul><li>Add custom menu with buttons to standard menu bar </li></ul><ul><li>Display custom forms </li></...
Outlook Task Add-in Solution
Visual Basic 2005 and Windows Forms 2.0 Enhancements <ul><li>Tyler Whitney </li></ul><ul><li>Microsoft, Corp </li></ul>
Visual Studio 2005 Smart Client Goals <ul><li>Bring the ease and reliability of web application deployment to client appli...
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Windows Forms 2.0 Enhancements
Upcoming SlideShare
Loading in …5
×