Home >
Learn
> Windows Client Technical Articles
Windows Client Technical Articles
Windows Client Technical Articles
Stay up-to-date with the latest tips, tricks, and techniques for Windows client programming.
Topics Include:
Windows Forms Technical Articles
.NET
Accessibility
ADO
ADO.NET
Advanced
- Windows Forms for MFC Developers
- This is the first installment of George Sheperd's Windows Forms column.
- FTP Explorer in C# (Beta 2)
- A short descriptive article accompanies this full blown sample source code for an FTP application written in C#. The application combines many different UI controls to create a an excellent Windows Forms client application.
- Compatibility and Future Support for the Windows Media Player ActiveX Control
- Learn about issues and changes in the behavior of the Windows Media Player 6.4 ActiveX control that you may experience after installing Windows Media Player 9 Series.
- Automatically Generating Proxy Classes
- Ken Spencer flexes the CodeDOM and dynamic compilation to dynamically generate proxy classes for assemblies.
- Bring the Power of Templates to Your .NET Applications with the CodeDOM Namespace
- Adam J. Steinert uses the CodeDOM to create functionality similar to C++ templates.
- A Primer on Creating Type-Safe References to Methods in Visual Basic .NET
- Jesse Liberty discusses the use and benefits of delegates in VB.NET.
- C++: Window Destruction in the .NET Framework
- This article covers the differences between MFC and Windows Forms Window Management.
- Quake II .NET
- This article outlines the steps and code needed to port the Quake II engine to managed code and also extend the game with Windows Forms.
- XSLT: Simplify Development and Maintenance of Microsoft .NET Projects with Code Generation Techniques
- Code generation techniques using technologies such as XSLT are playing an increasingly important part in software projects as they support the development of a rapidly maintainable code base. This article discusses some of the benefits and possible applications...
- Calling Win32 DLLs in C# with P/Invoke
- This column focuses on the practical use of P/Invoke for calling Windows API functions.
- Using Custom Attributes for Validation
- Attributes can be used to decorate language elements with additional information that can be retrieved at run time by using Reflection. This article shows how to build custom attributes to create a simple extensible framework to provide validation of...
- Building a Lightweight Message-Passing System
- Eric Gunnerson discusses socket-based architecture and how to create an efficient, easy-to use message-passing system that runs on both PCs and Pocket PCs.
- Generate Custom Managed C++ Wrappers for Easier COM Interoperation Using DCOMSuds
- This article illustrates creating custom runtime callable wrappers for DCOM. Low-level access to resource cleanup, passing security information, and accessing CLR features are all covered.
- Creating a CCW for COM enabled non .NET applications
- A method of calling .NET functions from a COM enabled non .NET environment through a COM callable wrapper.
- Introducing Generics in the CLR
- This article introduces generics and discusses the benefits it brings to your code.
- More on Generics in the CLR
- This article digs deeper into the internal workings of the CLR with respect to generics. It covers type constraints, generic classes, methods, structures, and the upcoming generic class libraries
- Simple Wordpad in Managed C++
- This project uses managed C++ and the RichTextBox to build a Wordpad application.
- Deploying Assemblies
- This column explores the options for deploying assembly DLLs in both development and production environments.
- Generics in .NET - Part I
- This article discusses the idea behind generics, compares regular collection classes with generic collection classes and demonstrates the creation of a simple generic type.
- Managing Your Remote Windows Clipboard
- This article uses the Clipboard class and remoting to build a network clipboard viewer.
- Rewrite MSIL Code on the Fly with the .NET Framework Profiling API
- This article shows how to dynamically rewrite Microsoft Intermediate Language code on the fly using the Profiling API of the CLR. Unlike approaches based on Reflection.Emit, this scheme works with the existing assemblies and doesn't require the creation...
- Create a Custom Marshaling Implementation Using .NET Remoting and COM Interop
- This article examines techniques to use COM Interop to customize COM types and also using .NET Remoting to tailor native .NET types.
- Managing the Lifetime of Remote .NET Objects with Leasing and Sponsorship
- Leasing and sponsorship is the solution for managing the lifecycle of a remote object in .NET. Each object has a lease that prevents the local garbage collector from destroying it, and most distributed applications rely upon leasing. There are several...
- An Extensive Examination of Data Structures Part 1: An Introduction to Data Structures
- This article kicks off a six-part series that focuses on important data structures and their use in application development. We'll examine both built-in data structures present in the .NET Framework, as well as essential data structures we'll...
- An Extensive Examination of Data Structures Part 2: The Queue, Stack, and Hashtable
- This article, the second in a six-part series on data structures in the .NET Framework, examines three of the most commonly studied data structures: the Queue, the Stack, and the Hashtable. As we'll see, the Queue and Stack are specialized ArrayLists...
- Create Namespace Extensions for Windows Explorer with the .NET Framework
- This article show how to extend the Windows shell with namespace extensions. This allows you to create some custom functionality for Windows Explorer. One common use is to enable Explorer to present a list of items that do not exist in one real folder...
- Comparing the Timer Classes in the .NET Framework Class Library
- The .NET Framework Class Library provides three different timer classes: System.Windows.Forms.Timer, System.Timers.Timer, and System.Threading.Timer. Each of these classes has been designed and optimized for use in different situations. This article examines...
- Real world .NET serialization
- Do you know what Jeff Richter didn't tell you about .NET serialization? Read on and learn what I've learned the hard way applying serialization to a real world .NET project.
- Displaying .NET Windows Forms from Java SWING
- Learn how an application in Java SWING can invoke and display a Windows Form, pass parameters to the form and wait for a return value when the form is closed. This type of technique shows how organizations can introduce new forms and controls based on...
- Basic Instincts: Deploying Assemblies
- This explores the options for deploying assembly DLLs in both development and production environments.
- Creating a Spam Filtering Engine in C#
- This article outlines the creation of a custom anti-spam engine, written in C#, that leverages artificial neural networks (ANNs) to target spam by looking for specific “gene” markers within e-mail messages.
- N-Tier Application Development with Microsoft .NET (Part 2)
- This article explains how to implement the business layer in an N-tier application. It covers the objects needed and how they interact.
- N-Tier Application Development with Microsoft .NET (Part 1)
- Provides an introduction to n-tier architecture and explains the reasoning behind developing applications in this way, and how it can be achieved without going into complex implementation details.
- An Extensive Examination of Data Structures Part 3: Binary Trees and BSTs
- This article, the third in a six-part series on data structures in the .NET Framework, looks at a common data structure that is not included in the .NET Framework Base Class Library: binary trees. Whereas arrays arrange data linearly, binary trees can...
- Using the .NET Framework SDK Interoperability Tools
- Sam Gentile dives deeply into the .NET Framework SDK interoperability tools, including TLBIMP, SN, TLBEXP, and REGASM. To go beyond (COM) Add Reference, you need to fully understand how to use these tools.
- Extending Managed VSPackages with Automation
- Learn how to create a managed VSPackage that programs the Visual Studio .NET environment through automation.
- Adding a Toolbar to a Managed Visual Studio Tool Window
- Learn steps to add a toolbar to a managed tool window in Visual Studio.
- An Extensive Examination of Data Structures Part 4: Building a Better Binary Search Tree
- This article, the fourth in the series, begins with a quick examination of AVL trees and red-black trees, which are two different self-balancing, binary search tree data structures. The remainder of the article examines the skip list data structure, an...
- Calling Code Dynamically
- Eric Gunnerson explores the performance aspects of various methods of calling code dynamically.
- An Extensive Examination of Data Structures Part 5: From Trees to Graphs
- A graph, like a tree, is a collection of nodes and edges, but has no rules dictating the connection among the nodes. In this fifth part of the article series, we'll learn all about graphs, one of the most versatile data structures.
- Creating a Simplified Asynchronous Call Pattern for Windows Forms Applications
- By way of a blog entry, David Hill explains how you can implement an asynchronous call pattern that allows you to consume Web services from a Windows Forms application without having to worry about threads.
- Coordinating Asynchronous Service Calls
- Rocky Lhotka discusses how you can manage simultaneous asynchronous calls to services, including strategies for managing failure and timeouts.
- .NET Matters: Const in C#, Exception Filters and IWin32Window
- This Q & A covers ins and outs of the Microsoft® .NET Framework.
- An Extensive Examination of Data Structures Part 6: Efficiently Representing Sets
- Scott Mitchell discusses data structures for implementing general and disjoint sets. A set is an unordered collection of unique items that can be enumerated and compared to other sets in a variety of ways.
- Debugger Visualizations, Garbage Collection
- This article walks through creating a debugger visualization in Visual Studio .NET 2003.
- A True Tree User Control for Presenting Hierarchical Data
- The standard TreeView control that is available in .NET is powerful and sufficient in most cases, but there are situations where seeing data in a true tree format is more intuitive vs. seeing data in the TreeView. The focus of this article is to show...
- Creating a Five-Star Rating Control
- This article shows how to create a star-based rating control.
- Collection Controls with Rich Design Time Support
- Outlines the added complexity of creating a control that maintains a collection of items.
- How to Write a GPS Application
- Covers the skills needed to write a commercial-grade GPS application that works with a majority of GPS devices in the industry today.
- Writing Your Own GPS Applications: Part 2
- Covers precision in detail and discusses what it takes to make GPS applications smart enough for in-car navigation and reliable enough for commercial use.
- Walking Through Avalon and Windows Forms Interoperability in Code
- Demonstrates interoperability between Windows Forms and Avalon applications. Learn how to create an Avalon control and host it in a Windows Forms application, and then create a Windows control and host it in an Avalon application using XAML.
- Programming Reporting Services with VB.NET
- Reporting Services is the enterprise reporting component in SQL Server 2000. In this article, Rick Dobson introduces you to programming Reporting Services with Visual Studio. By following the guidelines that he demonstrates with his series of samples...
- Extend the Common Dialog Boxes Using Windows Forms 1.x
- Describes some techniques for placing Windows Forms controls inside the standard File Open dialog box. You can use this ability to provide "preview" or "open as" behavior in your own applications. The same techniques can be applied...
- Custom Windows Forms Controls: ColorPicker.NET
- Chris Sano introduces you to ColorPicker.NET and demonstrates techniques that were used to build some of the custom controls in the application.
- The Grouper: Custom Groupbox Control
- The Grouper is a special groupbox control that is rounded and fully customizable. The control can paint borders, drop shadows, gradient and solid backgrounds, custom text, and custom icons. The purpose of this control was to design a better looking groupbox...
- Reparse Points in Vista
- Symbolic Links, Junction Points and Mount Points, collectively known as Reparse Points, were introduced into NTFS at version 5 and are thus present in Windows operating systems from 2000 onwards. However, they did not really impinge on the public consciousness...
- Unit Test WPF Applications Using MVC
- Provides guidance for using the Model-View-Controller design pattern to create modular WPF apps that are easy to unit test.
- Dissecting LINQ to SQL
- LINQ to SQL solves the mismatch between the object oriented and relational database world. In an application, we deal in terms of our domain objects such as customer and orders. However, when it comes to saving these objects and solving the datatype mismatch...
- WPF Business Application Series, Part 2
- This is the second in a series of articles on writing WPF business applications in VB.NET using Visual Studio 2008. In it I cover the FormNotification control, binding to objects that implement IDataErorrInfo, rendering the Form Notification popup in...
- A Multi-Threaded WPF TreeView Explorer
- In this article, Kavan Shaban shows how to develop a tree control that loads sub-nodes using background threads, with instant feedback to the user as nodes are inserted. The UI never locks up waiting for long running I/O operation.
- 10 Things I Didn't Know About WPF Data Binding
- In "10 Things I Didn't Know About WPF Data Binding", Rudi Grobler talks about less-than-obvious things he discovered about WPF data binding while building an n-tier application.
- Animating Interactive 2D Elements in a 3D WPF Panel
- Josh Smith discusses Explore Panel3D, a custom WPF panel that displays its children in three-dimensional space.
Application
- Developing the ChalkTalk Sample Application, Part 1
- Billy Hollis introduces a new application, ChalkTalk, that he developed utilizing a number of advanced Windows Forms capabilities, including the Opacity property, the TransparencyKey property, TopMost form property, the new None border style for a form...
- Developing the ChalkTalk Sample Application, Part 2
- Billy Hollis further refines his ChalkTalk application using feedback from readers and in doing so, explains and applies owned forms, isolated storage, creating a skin in Windows Forms, and using the clipboard from Visual Basic .NET.
- Application Configuration Files Explained
- Rocky Lhotka discusses XML configuration files in terms of the .NET Framework, and then shows you how to create custom sections using either pre-existing .NET section handlers or by building your own. With a bit more work, these custom section handlers...
- Storing User Configurations
- The .NET Framework provides support for storage of application configuration values, but doesn't directly support storing user-specific configuration settings. In this article, Rocky Lhotka provides one possible solution that allows you to store user...
- Let Users Add Functionality to Your .NET Applications with Macros and Plug-Ins
- This article describes extensibility features of the .NET Framework including late binding and reflection and how to use them, along with plug-in security considerations.
- Authentication and Authorization
- Explains how to use the .NET Principal and Identity concepts to implement custom authentication and authorization in Windows and Web applications.
- Creating a Plug-In Framework
- Shows how to add plug-in support to your .NET applications, and provides a framework you can use to add this functionality.
- Using .NET to make your Application Scriptable
- This article shows how to use dynamic compilaiton to provide a scripting engine for your application.
- Creating Applications with NotifyIcon in Windows Forms
- This article explains how to implement the common features required of a notification-based application in Windows Forms: starting up a Windows Forms application without showing a Form, using the NotifyIcon, bringing an existing Form to the front of the...
- Powerful Instrumentation Options in .NET Let You Build Manageable Apps with Confidence
- This article covers managed instrumentation and the benefits this can bring an application.
- Ten Must-Have Tools Every Developer Should Download Now
- This article details ten tools which make .NET application development a more streamlined and robust process.
- WPF Business Application Series, Part 1
- This is the first in a series of articles on writing WPF business applications in VB.NET using Visual Studio 2008. In it I cover the following topics: Application Structure, Skinning, and Custom ToolBar Button Controls.
- Dissecting LINQ to SQL
- LINQ to SQL solves the mismatch between the object oriented and relational database world. In an application, we deal in terms of our domain objects such as customer and orders. However, when it comes to saving these objects and solving the datatype mismatch...
- WPF Business Application Series, Part 2
- This is the second in a series of articles on writing WPF business applications in VB.NET using Visual Studio 2008. In it I cover the FormNotification control, binding to objects that implement IDataErorrInfo, rendering the Form Notification popup in...
- AJAX-style Asynchronous Progress Indicator for WinForms
- Nathan Evans shows how to bringing a cool AJAX-style asynchronous progress indicator using WinForms.
- WPF C# Ribbon Control Library
- This ribbon control uses WPF and C# to generate a graphical user interface widget composed of a strip across the top of the window to exposes all functions a program can perform in a single place, with additional ribbons appearing based on the context...
- A Demonstration for WPF Ribbon Library
- This article serves as a practical demonstration of the Ribbon Control and associated Office UI Guideline components as presented in a previous article. This article does not illustrate how to use the library, only a demonstration of an application and...
- Business Application Series, Part 3
- This is the third in a series of articles on writing WPF business applications in VB.NET using Visual Studio 2008. In it I cover how to decorate business entity objects for codeless entity validation and entity log message creation.
- Go Back, Go Forward: Navigation History for WinForms Controls
- The web browser user experience includes a "go back, go forward" navigation metaphor by default. This is useful for WinForms applications as well, especially for complex, multi-field applications. This article presents a History class to do...
- WPF Diagram Designer, Part 4
- In the fourth part of this article, I show how to add the following commands: Open, Save, Cut, Copy, Paste, Delete, Print, Group, Ungroup, Align, Distribute, and Order.
- A Detailed WinForms Data Binding Tutorial
- This article demonstrates a variety of Windows Forms data binding features using several simple examples.
- Writing Your Own GPS Applications, Part 1
- In this two-part series, Jon Person will show you how to write a commercial-grade GPS application.
- Writing Your Own GPS Applications, Part 2
- In part two of this series, Jon Person shows developers how to write GPS applications suitable for the real world by mastering GPS precision concepts. Source code includes a working NMEA interpreter and sample high-precision application in C# and VB.NET...
Astoria
Build
C#
- .NET Tip: Returning Multiple Objects from a Single Method Call
- What happens when you need to return more than one value from a method call? One solution is for your method to return a complex data type, but this may not really fit what you need or may be overly complex. Another option is to return values through...
Chat
- WCF/WPF Chat Application
- Sasha Barber shows how to create a peer-to-peer chat application using Windows Communication Foundation (WCF) and Windows Presentation Foundation (WPF)
ClickOnce Deployment
CSS
Data
- Introducing ADO+: Data Access Services for the Microsoft .NET Framework
- ADO+ is the new set of data access services for the .NET Framework. ADO+ is a natural evolution of ADO, built around n-tier development and architected with XML at its core. This article presents the design motivations behind ADO+, as well as a brief...
- Build a WinForms App With ADO.NET
- The latest version of Visual Basic, VB.NET, takes a powerful new approach to developing Windows and Web-based software that will revolutionize application development. You must overcome the initial hurdle of learning the new language and tools, however...
- Data Binding Between Controls in Windows Forms
- Data binding is a very powerful feature of most applications, and Windows® Forms and Web Forms applications are clearly no exception. Data binding is the process of retrieving data from a source and dynamically associating it with a property of a visual...
- Formatting the Windows Forms DataGrid Control in Visual Basic
- Quite a few basic tasks related to formatting the Windows Forms DataGrid control require you to create and implement your own custom column styles. However, once you are familiar with these objects, you will have a lot of power at your disposal.
- A Soft Landing to ADO.NET
- Plan and carry out a gentle migration from ADO to ADO.NET.
- Customizing the Windows Forms DataGrid
- The following demonstrates how easy it is to use the Windows Forms DataGrid in Microsoft Visual Studio .NET for basic display of tabular data on a form. In addition, a demonstration on how to customize the DataGrid's default behavior is included,...
- Windows Forms Data Binding and Objects
- Rocky Lhotka shows you how to write code that you can add to your business and collection classes to better support the features of Windows Forms data binding.
- Managing an @@IDENTITY Crisis
- Discusses a strategy for returning newly created Identity values after the INSERT is executed. Letting SQL Server generate Identity values might make your job harder if you don't know how to retrieve the new Identity values.
- Retrieving the Gazoutas: Understanding SQL Server Return Codes and Output Parameters
- Discusses how to capture, interrupt, and handle resultsets and rowsets, as well as the extra information that they return when executing a Microsoft SQL Server query.
- .NET Database Class Generator
- This article covers a utility program that will read a MS Access database and write VB.NET, C#, or JScript classes.
- Tailor Your DataGrid Apps Using Table Style and Custom Column Style Objects
- One of the most enduring challenges in writing user interfaces is figuring out how to display large amounts of data efficiently and intuitively without bewildering the user. The problem becomes particularly thorny when the interface must reflect hierarchical...
- Columns With Style
- This is a series of articles about the Windows Forms DataGrid and creating custom DataGrid ColumnStyles.
- Creating a Lookup Table on a Data-bound Windows Form
- Describes how to create a lookup table by creating a data entry form for the Orders table in the Northwind database. Instead of displaying the CustomerID field, a combo box will be used to display the CompanyName from the Customers table that corresponds...
- Strongly Typed Data Revisited
- One of the ways developers can leverage the power of Visual Studio and the CLR is to create strongly typed data structures. William Vaughn explains all.
- Populating a Multi-table DataSet with SQLXML
- If you use ADO.NET and would like an alternative to the DataAdapter, read John Mancuso's article to learn how to fill a typed multi-table DataSet by using SQLXML. As a bonus, you'll also see how to use the same concept to move data from a VB6...
- Extending the DataGrid using CodeDom
- The System.Windows.Forms DataGrid has several limitations, but is very extensible. This article shows how to create a custom DataGridColumnStyle that evaluates expressions for each row, stored in a string value, at run-time.
- Northwind Unplugged: Building a Semi-Connected Application in Visual Basic .NET
- Demonstrates how you can build an application which automatically detects the connection state and seamlessly switches between online and offline.
- Down the Rabbit Hole
- Michael Weinhardt takes over for Chris Sells and begins with a tour of the GridView control in Whidbey Windows Forms, including data binding, styles, custom cell formatting and painting, and extensibility. He also takes a quick look at nifty features...
- Much ADO About Data: Doing the Impossible (Again)
- There are still a lot of Visual Basic 6.0 applications out there that call middle-tier objects that return ADO classic Recordsets. While ADO.NET can read a Recordset, it can't create one. In this article, Bill Vaughn shows how to use XML to create...
- Creating an ADO.NET Universal Data Wrapper
- ADO.NET is equipped with many providers -- OLEDB, SqlClient, OracleClient and OdbcClient. Database vendors also supply providers, i.e Oracle's ODP.NET. Applications usually target a specific database with hard-coded provider-specific ADO.NET calls...
- Sorting the Unsortable Collection
- Rocky Lhotka dives into the interfaces supporting collections as he shows how to implement a wrapper class to sort collections that don't support sorting.
- Exploring GridView Control Events
- Michael Weinhardt continues his examination of the new "Whidbey" Windows Forms GridView control. In particular, he takes a look at a variety of events for you to handle common activities including navigation, editing, validation, and error handling...
- Field Views on Windows Forms 1.0 and 1.1 Data Binding
- Data binding is a robust, powerful, and extensible infrastructure that is very popular with developers. This article offers best practices, addresses difficulties that developers have with data binding, and provides practical workarounds for some common...
- Roadmap for Windows Forms Data Binding
- This article provides a roadmap to learn and master data binding in Windows Forms applications.
- Evolution of the SQL Server Data Access Model
- Get an annotated overview of the data access layers available today that work with SQL Server, including ADO, the XML interface of SQL Server 2000 (SQLXML), ADO.NET, and the upcoming ADO.NET 2.0.
- Dynamic SQL Server Database Creation in .NET
- This article explains the dynamic creation of a SQL Server database, tables and stored procedure using Visual Studio codename Whidbey and VB.NET. Same procedure works for C# as well.
- Dynamic Database Creation - 2
- This article explains how to display data using Dataset and DataGrid control after a dynamic database is created.
- SQL Server Yukon - Next Generation Information Management System
- This article discusses the new features in the next version of SQL server codenamed "Yukon".
- Secrets of the System.Xml.Schema Namespace
- Dare Obasanjo provides examples of lesser-known class functionality in System.Xml.Schema namespaces.
- Extending Windows Forms with a Custom Validation Component Library, Part 3
- This time round, we build on the control-scoped developed in Part 1 and the form-scoped validation developed in Part 2 to build control-scoped validation support. We also create an extensible validation summary framework with two separate implementations...
- Dragging and Dropping DataGrid Columns
- Learn how to utilize basic GDI functionality to achieve visual effects with the DataGrid control. By making calls across managed boundaries, you can leverage native GDI functionality to perform screen captures, and eventually drag-and-drop experience...
- Schemas in ADO.NET 2.0
- Learn about the enhanced support in ADO.NET 2.0 for accessing metadata from your data sources.
- Getting Started with Reporting Services
- Rick Dobson provides an overview of Reporting Services and shows how to get started authoring reports with it.
- Using DataReaders to Increase Speed and Reduce Memory
- Rick Dobson demonstrates the performance advantages of using forward-only, read-only DataReaders for data access.
- Monitoring Application Health with WMI and .NET
- In this article, Francis Shanahan shows you how to build enterprise class peace-of-mind into your .NET software and finally get the sleep you deserve!
- Comparing the Microsoft .NET Framework 1.1 Data Provider for Oracle and the Oracle Data Provider for .NET
- Get a comparison of the strengths of the two most common .NET data providers for Oracle, and be prepared to select the right one for your next development project.
- Drag-Once Databinding
- Using the new Data Sources Window in Visual Studio 2005, developers can drag columns of their typed DataSets or properties of their own business objects directly to their form.
- XML Data Type Support in ADO.NET 2.0: Handling XML from SQL Server 2005
- See how improvements to XML support in Microsoft ADO.NET 2.0 and Microsoft SQL Server 2005 work together to make handling XML data in your applications easier.
- Coding for Concurrency in ADO.NET
- Rick Dobson shows you how it works and how to make your applications more robust in high-scalability environments.
- Database Developer Corner: Passing Data via Web Services
- Web Services seem poised to be the Next Big Thing–affecting everything from individual businesses and consumers to the global economy itself. This month, Carl Ganz not only shows you how to pass structured data such as DataSets and custom objects to and...
- Efficient Coding With Strongly Typed DataSets
- This article discusses the pros and cons of developing a Microsoft® .NET Framework-based application using strongly typed DataSet objects.
- Styling with the DataGridColumnStyle, Part 1
- Explains the rendering infrastructure of the Windows Forms DataGrid control, including the various resources that the DataGrid utilizes to display its data.
- Styling with the DataGridColumnStyle, Part 2
- Demonstrates how to manipulate the appearance of the Windows Forms DataGrid control using custom column styles.
- Updating DataBound Controls asynchronously: AsyncBindingList<T>
- This sample shows how to extend BindingList so that it can be updated on a background thread.
- Enumeration in C#.NET,VB.NET
- Enumeration is a great user defined data type in C#.Net and VB.NET. It is very useful in code readability. It greatly increases the readability of code.
- Database Tip: Managing Transactions with a Stack
- Although a lot of database work in many web applications involves single table queries and changes, in many cases you make multiple changes to a database. In these cases, you should consider using transactions. A transaction defines a unit of work to...
- Keyed Anonymous Types in VB9
- Anonymous types use the Dim keyword but do not include a formal type—that you code—in the initialization statement. That is, the New keyword is used but there's no class name. These are not invariant types; these are strong types but the class is...
- Continuous LINQ: Extending and Enhancing C# 3.5 with Language Extensions and LINQ
- If you haven't been paying a lot of attention to the barrage of new Microsoft technology, LINQ is one of the key new features of the .NET Framework 3.5. LINQ, short for "Language Integrated Query," lets you express filtering, sorting, grouping...
- Visualizing LINQ Sequences with GDI+
- It's all rectangles. Draw a rectangle and you need a rectangle control. Draw an ellipse and you need the bounding rectangle. Drawing controls, graphics, positioning forms—these all require rectangles. My upcoming book, LINQ Unleashed for C# from Sams...
- Dissecting LINQ to SQL
- LINQ to SQL solves the mismatch between the object oriented and relational database world. In an application, we deal in terms of our domain objects such as customer and orders. However, when it comes to saving these objects and solving the datatype mismatch...
- Setting Default Values for LINQ Bound Data
- Being impressed with the new ORM behaviour exhibited by Microsoft's new LINQ technology, I decided to do a development spike before using it in my next project. Although LINQ is definitely the way to go, there would seem to be a few shortfalls that...
- Binding to a Database in WPF using LINQ-SQL
- Brian Stoker demonstrates how to use LINQ-SQL to bind to a database instead of an XML file.
- 10 Things I Didn't Know About WPF Data Binding
- In "10 Things I Didn't Know About WPF Data Binding", Rudi Grobler talks about less-than-obvious things he discovered about WPF data binding while building an n-tier application.
- Conceptual Children: A Powerful New Concept in WPF
- This article describes a new approach by which an element can remove its visual and logical relationships to its children while maintaining a conceptual parental relationship with those children.
- LINQ Challenges and SQL Server Compact Edition
- Matt Sollars explains how to overcoming challenges with LINQ to SQL and using LINQ with SQL Server Compact Edition.
- A Detailed WinForms Data Binding Tutorial
- This article demonstrates a variety of Windows Forms data binding features using several simple examples.
- LINQ to SQL Q&A with Perry Birch
- Perry shares his take on the best LINQ to SQL features, walks you through the biggest changes from ObjectSpaces and more.
data service
data services
Debugging
Deployment
- .NET Framework: Building, Packaging, Deploying, and Administering Applications and Types
- Types that are built for the Common Language Runtime can be shared among applications in the Microsoft .NET Framework no matter which of the .NET languages they were built in, an obvious benefit to developers. This article describes the building, packaging...
- Using Windows Forms Controls in IE
- This document describes how to successfully execute Windows Forms controls within Internet Explorer (IE). Windows Forms controls within IE are activated without user prompt, require no registration and utilize the Common Language Runtime (CLR) code access...
- .NET Application Updater Component
- One of the coolest aspects of a smart client application is its ability to dynamically update itself. Use this component to make deployment of your application automatic.
- Host Secure, Lightweight Client-Side Controls in Microsoft Internet Explorer
- In the past, Web developers often used ActiveX controls if they wanted customized client-side functionality incorporated into their Web applications. Now, they can build objects supported by the Microsoft .NET Framework which are more compact, lightweight...
- Death of the Browser
- Let's face it, in terms of developing friendly, responsive user interfaces, browser-based programming is a huge step backwards. HTML and the browser were not designed to be a platform for application user interfaces. They were designed for hyperlinked...
- WinForms Kick-Start... the Web?
- Visual Studio .NET (VS.NET) makes writing Web-based applications easier. But that doesn't diminish the importance of VS.NET's Windows Forms (WinForms) package, which many have been too quick to dismiss as insignificant in light of VS.NET's...
- Deploy WinForms on the Web
- You can marry the rich user experience of VB applications with the easy deployment and maintenance of Web apps by "Web-deploying" .NET WinForms apps. .NET lets you do this by bringing Web deployment to nearly conventional Windows apps.
- No-Touch Deployment in the .NET Framework
- This article demonstrates an exciting new feature to simplify deploying and updating a Windows Form Smart Client using a Web Server. The Task Management sample application referenced in this paper is provided in Visual Basic .NET.
- Write Auto-Updating Apps with .NET and the Background Intelligent Transfer Service API
- Jason Clark demonstrates the use of the Windows BITS APIs and the .NET framework to create an auto updating mechanism.
- Security and Versioning Models in the Windows Forms Engine Help You Create and Deploy Smart Clients
- Windows Forms applications solve many of the problems inherent in building Web applications the old fashioned way—with HTML. To demonstrate the use of Windows Forms over the Web, the author takes his existing app, Wahoo!, and ports it to Windows Forms...
- .NET Framework 1.1 Deployment Guide
- Applications and controls written for the Microsoft .NET Framework require the .NET Framework to be installed on the computer where the application or control runs. The .NET Framework version 1.1 provides one redistributable installer, Dotnetfx.exe, which...
- Introducing Client Application Deployment with "ClickOnce"
- This article describes how "ClickOnce" will simplify client deployment of Whidbey applications.
- Microsoft Updater Application Block
- The Updater Application Block is a .NET solution that provides a "pull model" solution to automatically download application updates from a central location. It is designed for organizations who want the rich functionality of Windows Forms applications...
- ClickOnce: Deploy and Update Your Smart Client Projects Using a Central Server
- This article discusses using ClickOnce to deploy real apps, versioning benefits and updating applications, both programmatically and automatically.
- Certified For Vista: How to ensure an application gets certified
- With the recent release of the new Microsoft Windows Vista operating system, there is a new certification program that allows us to endorse our applications with a "Certified for Vista" logo as long as it passes a strict testing process. There...
Design Patterns
- Software Design Patterns
- This page has a list of deisgn patterns and code that implements each one.
- Exploring the Observer Design Pattern
- This article discusses the use of design patterns in the Microsoft .NET Framework. An extremely powerful tool for developers or architects in development projects, design patterns ensure that common problems are addressed via well-known and accepted solutions...
- Exploring the Singleton Design Pattern
- Discusses the Singleton design pattern, a creational pattern to dictate how and when objects get created, and its effective use with the Microsoft .NET Framework.
- Exploring the Factory Design Pattern
- Discusses the Factory creational pattern that uses a specialized object solely to create other objects, much like a real-world factory. The logical and physical models of this pattern are examined, as is one use of this pattern in the Microsoft .NET Framework...
- IUIs and Web-Style Navigation in Windows Forms, Part 1
- The concept of the inductive user interface is one that can be employed to save users from having to invest time repeatedly learning infrequently used UIs. In the first of a two part series, we examine the inductive user interface, discuss when it is...
- The Case for Software Factories
- Briefly presents the motivation for Software Factories, a methodology developed at Microsoft. A Software Factory is a development environment configured to support the rapid development of a specific type of application. Software Factories are just a...
- Software Factories Part 2: Problems and Innovations
- The second in a four-part series of articles about software factories, focusing on the chronic problems that are slowing the inevitable transition from craftsmanship to manufacturing (described in the previous article), and the critical innovations that...
- Secrets of Great Architects
- All great architects have mastered the ability to conceptualize a solution at distinct levels of abstraction. By organizing the solution into discrete levels, architects are able to focus on a single aspect of the solution while ignoring all remaining...
- Data on the Outside vs. Data on the Inside
- Pat Helland explores Service Oriented Architecture, and the differences between data inside and data outside the service boundary. Additionally, he examines the strengths and weaknesses of objects, SQL, and XML as different representations of data, and...
- Extensible Applications: New Features Without Recompiling
- In this article, Joe Wirtley describes an architecture for your applications that allows you to add new features without recompiling. Using reflection, interfaces, and dynamically loaded assemblies, you can create applications that can easily be extended...
- IUIs and Web-Style Navigation in Windows Forms, Part 2
- Michael Weinhardt continues his exploration of inductive user interfaces by building one using a custom navigation framework for .NET 1.0 and .NET 1.1 Windows Forms applications.
- CRUD, Only When You Can Afford It
- Microsoft Architect Maarten Mullender examines the CRUD (Create, Read, Update, Delete) model, and determines that CRUD requires a deep understanding of its limits, specifically when dealing with concurrency issues.
- Business Patterns for Software Engineering Use, Part 1
- Defines business patterns in a way that is useful for software developers, and develops a business patterns framework using the Strategic Architecture Model.
- Business Patterns for Software Engineering Use, Part 2
- In the second of two articles, the authors describe how to develop business patterns based on business functions, data, and business components, and show how these can be used to engineer software systems.
- Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
- The third in a four-part series of articles about software factories, focusing on overcoming the chronic problems explored in the last article, and integrating critical innovations into a coherent methodology for software factories.
- Unit Test WPF Applications Using MVC
- Provides guidance for using the Model-View-Controller design pattern to create modular WPF apps that are easy to unit test.
Designer
- Writing Custom Designers for .NET Components
- This article covers the various features of designers, how to associate them with components, and how to use those features to create great design time user interface.
- .NET Shape Library: A Sample Designer
- The Shape Library provides a comprehensive example of writing a designer in the .NET Framework. It starts with a very simple set of runtime vector drawing components: the shape library, and adds design-time support for these components. The design-time...
- Interacting with the .NET Property Browser
- This article will help you explore the Microsoft Visual Studio .NET property browser and take advantage of its new features.
- Customizing Code Generation in the .NET Framework Visual Designers
- Discusses the various types of code generation and shows how component authors can participate in the code generation process in Microsoft .NET.
- Debugging Design-Time Controls
- Walks through the process of debugging any custom design-time control when it is being used with the Microsoft Visual Studio .NET designer, and describes the chain of events that take place when you work with controls in the design surface.
- Building Windows Forms Controls and Components with Rich Design-Time Features, Part 2
- This is the second of two articles discussing the extremely rich design-time features of the .NET Framework.
- Building Windows Forms Controls and Components with Rich Design-Time Features
- Visual Studio .NET provides support for designing rich features into your controls and components, allowing you to set properties, set form placement, inherit from base classes, and much more. In this article, the authors build a clock control to show...
- Hosting Windows Forms Designers
- This article outlines the code necesary to host a Windows Forms designer in a stand alone app.
- Intercepting the ENTER and ESC keys in custom, drop-down UITypeEditors.
- This article and the accompanying source code shows you how to intercept the ENTER and ESC keys in your own UITypeEditor implementation.
- Introduction to Designers
- This article discusses the control designer infrastructure in the .NET Framework and contains a sample highlighting parts of the designer functionality.
- Getting to know IExtenderProvider
- This article walks through the creation of a simple IExtenderProvider component.
- Tailor Your Application by Building a Custom Forms Designer with .NET
- This article discusses Design-time environment fundamentals, Forms designer architecture, The implementation of the forms designer in Visual Studio .NET, and Services you need to implement to write a forms designer for your own application.
- WPF Drop Shadows on The Cheap
- One of the questions I get most often from designers and almost never from developers is: How can I get drop shadows into my application without killing my performance? It is, of course, easy as punch and pie to get drop shadows into your application. You can just use the Bitmaps Effects panel in the Appearance section.
General
- Adding Menus and Menu Items to Windows Forms Programmatically
- This article shows you how to add menus and menu items to a Windows Forms application.
- Adding a control to a form programmatically
- In this article explains how to add a control to a form programmatically. This is useful for the developer who is not using the VS.NET IDE.
- Using ActiveX Controls with Windows Forms in Visual Studio .NET
- This document examines how to use Microsoft ActiveX controls with Windows Forms in Microsoft Visual Studio .NET.
- Use Visual Inheritance to Create Consistent Windows Forms
- Visual Inheritance is Microsoft's way to describe implementation inheritance of a visual object such as Windows Forms. This may sound complex if you are just moving from VB6, but the concept is similar to using an ActiveX control on a VB6 form.
- Developing Custom Windows Controls Using Visual Basic .NET
- An overview of associated sample articles illustrating the basic concepts of Microsoft Windows control development through both discussion and code snippets.
- I/O, I/O, It's Off to Work I Go
- Eric Gunnerson discusses Input/Output (I/O) in terms of the .NET Framework, including the Stream class and its variations, as well as other classes essential to I/O.
- Collections in .NET, Round One
- When you lookup the System.Collections namespace in the MSDN Library, you will find over 10 different classes. Choosing the right one for using in your application can be hard. This article will provide an overview and give some guidelines for choosing...
- Retrieving File Information in VB.NET
- In this article, Debbie Cooper shows you how you can retrieve information about a file reminiscent of the way Windows displays it in the Properties dialog. You may also want to (re-)read Debbie's recent December 2002 article on "Monitoring Files...
- Drag and Drop in Windows Forms - A Primer
- This article shows how to implement drag and drop functionality in Windows Forms.
- Microsoft Win32 to Microsoft .NET Framework API Map
- This article identifies the Microsoft .NET Framework version 1.0 or 1.1 APIs that provide similar functionality to Microsoft Win32 functions. One or more relevant .NET Framework APIs are shown for each Win32 function listed. The intended audience for...
- Console Appplications in .NET, or Teaching a New Dog Old Tricks
- The Microsoft .NET Framework is not just about Windows Forms and Web services. This article discusses the simplest kind of Framework-based application—the console app—along with the frequently overlooked constructs of standard input/output and the pipe...
- Using the Windows Forms XML Parser Sample
- The Windows Forms XML parse sample provides an extensible mechanism to add a markup model on top of an existing .NET Framework object model. The parser’s parsing rules can be summarized as “XML elements map to .NET Framework types and XML attributes map...
- Coding Best Practices Using DateTime in the .NET Framework
- Writing programs that store, perform calculations, and serialize time values using the DateTime type in the Microsoft .NET Framework requires an awareness of the different issues associated with time representations available in Windows and .NET. This...
- RichTextLabel WinForms Control
- This article discusses embedding and displaying RTF resources to tweak the UI of an application easily and efficiently.
- Launching a process from Windows Forms
- This article illustrates processing a commnad script from a Windows Forms app.
- GravCave Game
- GravCave is a simple game implemented with Windows Forms useing GDI+. The game can also be launched over the network by clicking on a link.
- Back to the Future with Smart Clients
- While Web applications have received the bulk of the interest over the last few years, improvements in the client mean that it's time to re-investigate client-side development. In this new column, .NET in the Real World, authored by Microsoft Regional...
- Creating a Wizard Framework
- A series of articles that covers the concepts and code necessary to implement a wizard framework in Windows Forms.
- All About Blogs and RSS
- This FAQ covers the definition of a blog and the workings of the RSS XML format.
- Synchronizing Multiple Windows Forms
- This article discusses maintaining synchronization between multiple instnaces of a Form.
- VB-Helper: Strong Stuff
- This article discusses strongly-typed collections and their advantages
- Utilize the full functionality of the Whidbey File Management
- This article discusses, File System Management and its uses, File Permissions File modes, File Access and File Shares.
- Broadcasting Messages to Multiple Clients
- Rocky Lhotka discusses optimistic concurrency and shows you how to create a messaging system that lets multiple users know when they are editing the same data at the same time.
- How To Pass Parameters to Threads in Windows Forms Applications—and Get Results
- Launching new threads is easy, but it's not as obvious how you can pass parameters to the threads and get the results back. In addition, accessing Windows Forms controls from multiple threads can cause problems. In this article, you'll see how...
- Rules to Better Windows Forms Applications
- Guidelines and suggestions to streamline the Windows Forms development experience.
- Building a Better ComboBox
- George Politis outlines several techniques to improve the default functionality of the Windows Forms ComboBox, which will provide a better user experience for your own applications.
- Add a Tag property to System.Windows.Forms.MenuItem
- This article shows how to subclass MenuItem to add a Tag property.
- Add a MDI list to a System.Windows.Forms.ContextMenu instance
- This tip describes how to add a MDI list to a System.Windows.Forms.ContextMenu instance using Visual C#,
- Leveraging the .NET Framework in Measurement and Automation Applications
- Discusses the enhanced features of the .NET Framework version 2.0, including easy-to-use language constructs, robust distributed communication functionality, and language and technology interoperability.
- Multimedia Control
- Playing audio and video is easier in version 2 of the framework, but the basic capabilities available still leave a lot to be desired. Fortunately, the free MediaPlayer component provided here demonstrates a more feature-rich solution to your multimedia...
- A Simple Photo Browser
- In this article my aim is to guide a relative Visual Basic .NET "newbie" through the process of creating a simple Photo Browser application. We will gradually build up the application, examining a number of the techniques available to you in...
- WPF: A Beginner's Guide, Part 1
- In this article, I will discuss Layout in WPF: Layout (this article), XAML vs Code/Markup Extensions and Resources, Commands And Events, Dependency Properties, DataBinding, and Styles/Templates.
- WPF: A Beginner's Guide, Part 2
- In this article I will discuss: what to do in XAML, what to do in code, how to reference classes/assemblies from XAML, markup extensions, what are resources and how they can help you, and how to use resource files.
- WPF: A Beginner's Guide, Part 3
- In this article I will provide brief introductions to the following: RoutedEvents (what they are, how they work, how to consume/create them), RoutedCommands (what they are, how they work, how to consume/create them), Automation Peers, and Demo Applications...
- WPF: A Beginner's Guide, Part 4
- In this article I will provide brief introductions to the following: The difference between CLR properties and dependency Properties (DPs from here on in), Dependency Properties, Dependency Property Value Precedence, Dependency Property Value Inheritence...
- Programming WPF Applications
- This article describes the framework that WPF offers and also tells the differences between Browser based and Windows based installed applications.
- WPF Business Application Series, Part 1
- This is the first in a series of articles on writing WPF business applications in VB.NET using Visual Studio 2008. In it I cover the following topics: Application Structure, Skinning, and Custom ToolBar Button Controls.
- WPF Business Application Series, Part 2
- This is the second in a series of articles on writing WPF business applications in VB.NET using Visual Studio 2008. In it I cover the FormNotification control, binding to objects that implement IDataErorrInfo, rendering the Form Notification popup in...
- How to Write Well-Behaved WPF Controls
- This article presents tips on how to write WPF controls that consistently apply styles and templates.
- What's New in the .NET Framework Version 3.5
- This topic contains information about new and enhanced features in the .NET Framework version 3.5.
- WPF C# Ribbon Control Library
- This ribbon control uses WPF and C# to generate a graphical user interface widget composed of a strip across the top of the window to exposes all functions a program can perform in a single place, with additional ribbons appearing based on the context...
- AdventureWorks.WPF, Part 1
- Rudi Grobler tries his hand at creating a real world line-of-business application using WPF, only WPF, and nothing else.
- The Code Project Browser Add-in for Visual Studio 2005 and 2008
- SlickEdit Inc. demonstrates the Code Project Browser Add-in for Visual Studio 2005 and 2008, which lets developers browse The Code Project and open them directly.
Graphics
- High Performance Painting with Windows Forms
- This article begins by introducing the basic architecture of painting within the .Net Framework. After a brief introduction and sample, a few painting techniques are discussed along with their advantages, disadvantages, and other considerations.
- GDI+ Text, Resolution Independence, and Rendering Methods.
- Why does my text look different in GDI+ and in GDI? GDI+ text layout is resolution independent, and thus different from GDI. This article explains the why's and how's of device independent text rendering.
- John Madden Meets Windows Forms
- Windows Forms and GDI+ can be used to create complex free drawing applications such as this sample that allows you to mark areas of your screen for emphasis. The article focuses on the transparency features of the Form to create a graphical overlay surface...
- Using the RegionMaster Controls
- This article describes the interesting properties on the RegionMaster Controls.
- A Primer on Building a Color Picker User Control with GDI+ in Visual Basic .NET or C#
- This article describes several color selection schemes, and uses GDI+ (via the System.Drawing namespace) to create a component that makes it possible for your own applications to provide a simpler, friendlier color chooser.
- Remembering the Holidays (GDI+ and Images)
- How are holiday pictures and .NET related to each other? In this article we show how you can exploit the .NET platform to easily generate an index of a series of pictures and prepare them to be published on the Internet. Get acquainted with the Picturizer...
- Working with Images in the .NET Framework
- Image processing has never been easy within Win32®; only the bravest developers ever attempted to play with the Graphical Device Interface (GDI) API. GDI+ adds the ability to natively support BMP, GIF, and JPEG file formats.
- Introducing the New Managed Direct3D Graphics API in the .NET Framework
- DirectX 9.0 is the latest evolution of the Microsoft 3D graphics technology for Windows. Direct3D, a major component of the DirectX Graphics subsystem, has evolved so rapidly in the last few years that the underlying programming paradigm has changed quite...
- Per Pixel Alpha Blend in C#
- This article covers the steps necessary to create per pixel alpha blending windows.
- Fun With DrawImage
- In this article, graphics junkie Rod Stephens shows how to use the DrawImage method to resize and rotate images.
- DirectX 9.0: Introducing the New Managed Direct3D Graphics API in the .NET Framework
- This article introduces the fundamental concepts of the unmanaged Direct3D architecture and illustrates how the managed Direct3D layer abstracts the unmanaged layer. Also, the author describes the Geometry, Texture, Device, and other classes and uses...
- The ColorPicker WinForms Control
- The .NET framework provides quite a rich collection of UI controls and components for WinForms development. One missing control is a color-picker with drop-down color selection capabilities.
- Accessing Extra Image Information in JPEG Files
- This article explains how to extract EXIF information from a JPEG image using VB.NET.
- Using Matrix Transformations in System.Drawing
- This article shows you how to define a System.Drawing.Drawing2D.Matrix transformation on a Graphics object, and how you can then draw shapes and text using application coordinates and have the Graphics object automatically translate these shapes to device...
- The ColorPicker WinForms Control Revisited
- Refactoring the original ColorPicker control by employing the Adapter design pattern to support plug-in display adapters for ComboBox-like appearance and more.
- WPF Interactive Image Cropping Control
- Recently a friend of mine who has just started a company pointed me at this site which does lots of fancy image editing. Although he doesn't know XAML or Silverlight he reckoned some of the stuff they were doing was excellent, and asked me to look...
- WindowsVistaRenderer: A New Button Generation
- This article demonstrates how to use the WindowsVistaRenderer and how it was created.
- WPF Diagram Designer, Part One
- In this first article of the series, I will show you how to drag, resize and rotate any content on a Canvas. By "any content," I mean any object you can assign to the Content property of a ContentControl. Since that property is of type object...
- WPF Diagram Designer, Part Two
- In the first article I have shown you how to drag, resize and rotate elements on a canvas. Today we are going to add further features that are essential for a typical diagram designer: rubberband selection, multiple selection with keystrokes (LeftMouseButton...
- WPF Drop Shadows on The Cheap
- One of the questions I get most often from designers and almost never from developers is: How can I get drop shadows into my application without killing my performance? It is, of course, easy as punch and pie to get drop shadows into your application. You can just use the Bitmaps Effects panel in the Appearance section.
- WPF Business Application Series, Part 1
- This is the first in a series of articles on writing WPF business applications in VB.NET using Visual Studio 2008. In it I cover the following topics: Application Structure, Skinning, and Custom ToolBar Button Controls.
- WPF Business Application Series, Part 2
- This is the second in a series of articles on writing WPF business applications in VB.NET using Visual Studio 2008. In it I cover the FormNotification control, binding to objects that implement IDataErorrInfo, rendering the Form Notification popup in...
- AJAX-style Asynchronous Progress Indicator for WinForms
- Nathan Evans shows how to bringing a cool AJAX-style asynchronous progress indicator using WinForms.
- WPF C# Ribbon Control Library
- This ribbon control uses WPF and C# to generate a graphical user interface widget composed of a strip across the top of the window to exposes all functions a program can perform in a single place, with additional ribbons appearing based on the context...
- A Demonstration for WPF Ribbon Library
- This article serves as a practical demonstration of the Ribbon Control and associated Office UI Guideline components as presented in a previous article. This article does not illustrate how to use the library, only a demonstration of an application and...
- Beginner WPF Animation Tutorial
- This tutorial shows how to create a button animation with the System.Windows.Media.Animation namespace.
- Animating Interactive 2D Elements in a 3D WPF Panel
- Josh Smith discusses Explore Panel3D, a custom WPF panel that displays its children in three-dimensional space.
IE Sourcing
Ink Controls
- Using CustomStrokes, Renderer, and ExtendedProperties to Manipulate Ink
- This paper discusses using ink controls for the Microsoft Windows XP Tablet PC Edition operating system. We will discuss the CustomStrokes collection, which is a stroke property of the Ink object. We will also cover selective rendering using the Renderer...
- Using the InkPicture Stroke and NewInAirPackets and NewPackets Events
- This article discusses using ink controls for the Microsoft Windows XP Tablet PC Edition operating system. We will discuss the InkPicture control's Stroke event as well as the NewInAirPackets and NewPackets events, all of which are included as part...
- Building Ink Chat
- Get architecture and code samples for extending Instant Messaging to include the Ink data type introduced in the Windows XP Tablet PC Edition operating system. Learn how Ink interoperates on other Microsoft operating systems.
- Tablet PC Pen and Ink
- Programmatically delete, select and highlight ink. Also learn what to consider when designing an application that accepts input from a Pen.
- Achieve the Illusion of Handwriting on Paper When Using the Managed INK API
- This article shows you how to handle a inking events, it also discusses how to avoid pitfalls including too frequent redrawing, which causes the ink flow to lag behind the pen movements, diminishing the illusion of ink on paper.
Introduction
- Windows Forms: A Modern-Day Programming Model for Writing GUI Applications
- To write GUI applications for Microsoft .NET you'll use Windows Forms. Windows Forms are a new style of application built around classes in the .NET Framework class library's System.WinForms namespace. They have a programming model all their own...
- Using Windows XP Visual Styles With Controls on Windows Forms
- Windows XP has introduced a new look and feel to the Windows user interface (UI). Composed of the same controls that ship with Visual Studio .NET, the Windows XP UI features an updated, ultra-modern look. Controls with rounded corners that light up on...
- Getting Started with Windows Forms
- This document walks you through the creation of a simple MDI application created using Microsoft Visual Basic .NET; the focus is not on writing code, but on getting you started working with the Microsoft Windows Forms Designer, and on showing you how...
- Upgrading to .NET
- This series of articles includes the core information a developer needs to start to get the most out of the .NET Framework and Visual Studio .NET, including tips and tricks on the new data access system (ADO.NET) and Web application system (ASP.NET)....
- .Net Does Windows
- (Web Cast) For many years now, the primary focus of many solution developers has been Web sites and Web-based applications. One of the primary reasons for this focus has been the easy deployment model that a browser-based application provides. This benefit...
- The Return of Client/Server — or, at Least, Rich Clients
- Microsoft’s much-misunderstood .NET Internet platform strategy will lead a resurgence in rich-client application deployment, resulting in a hybrid approach that shares code between client and middle-tier application servers.
- WinForm Basics
- This article helps beginners who want to learn the basics of C# Windows Forms. The following code gives a quick and easy example of how Windows Forms work.
- Windows Forms Demo
- This article details what Windows® Forms are all about, from the programming model to Microsoft® Intermediate Language and the JIT compiler.
- Developers Re-examine Rich-Client Apps
- This article examines a possible shift in corporate thinking that will bring rich-client apps back to the market. Leading the front are new features provided in Windows Forms.
- VB.Net - Windows Forms and Controls
- An introduction to creating Windows Forms and Controls using the VS.Net IDE and code.
- Moving to Microsoft Visual Basic .NET
- This presentation will help you upgrade your code and skills from Visual Basic 6 to Visual Basic .NET.
- More Customizing VB.NET Controls
- About Visual Basic recently featured an article about how to use inheritance to customize a standard component - in this case the CheckBox. The main goal of the article was to demonstrate inheritance with something that you could use right away.
- Objects and Values, Part I
- Ted Pattison gives part one of a two part discourse on the difference between object and value types.
- Objects and Values, Part 2: Memory Management
- Part two of Ted Pattison's introduction to objects and values.
- Programming with Events Using .NET
- This article builds upon Ted Pattison's last two articles. It covers programming delegates and the eventing model in the .NET Framework.
- Build Hyperlinks into Your Client App with the Windows Forms LinkLabel Control
- LinkLabels are Windows Forms controls that enable a use