Home > Store

.NET Compact Framework Programming with C#

Register your product to gain access to bonus material or receive a coupon.

.NET Compact Framework Programming with C#


  • Sorry, this book is no longer in print.
Not for Sale



The one book all C# developers will need on the .NET Compact Framework

° Paul Yao is acclaimed as the best writer on the .NET Compact Framework (CF)

° Practical, code-rich tutorial for experienced programmers wishing to transfer their skills to smart devices

° Covers topics not found in other books, such as controls, data handling, graphics, and ActiveSync

° Microsoft is pushing the Compact Framework very heavily


  • Copyright 2004
  • Edition: 1st
  • Book
  • ISBN-10: 0-321-17403-8
  • ISBN-13: 978-0-321-17403-1

“For nearly two decades, Paul Yao and David Durant have been acknowledged as experts on the Windows platform, so it’s only natural that they would bring their experienced point of view to the .NET Compact Framework. With a unique combination of historical perspective and in-depth understanding of the subject matter, Yao and Durant take the reader through not only the technical guts of the Compact Framework but also the reasons behind the design decisions.”

—Joshua Trupin, Executive Editor, MSDN Magazine
“Yao and Durant have written a book that, although it assumes no prior experience with the .NET Framework, serves both the rookie and advanced programmer equally well. This is definitely a rare quality among technical books and is certainly not an easy thing for an author to accomplish.”

—Doug Holland, Precision Objects
“This is a very good hands-on book with plenty of sample code illustrating programming tasks and techniques, which any serious development effort for Windows CE or Pocket PC will require.”

—Bill Draper, Director of Software Development
“This book serves as both a great reference and tutorial when building .NET Compact Framework applications. My only wish is that it had been available sooner.”

—Greg Hack, Senior Software Engineer, Allscripts Healthcare Solutions
“Of the handful of books on Compact Framework, this book takes the cake. Paul Yao and David Durant’s expertise with .NET Compact Framework is evident from their excellent and very insightful coverage of sections such as Building the User Interface, Managing Device Data, and Creating Graphical Output. The chapter discussing the topic of P/Invoke is unparalleled. After reviewing this book, I am certain that if there is one book that will help you understand .NET Compact Framework, this is the one.”

—Deepak Sharma, Senior Systems Specialist, Tata Infotech Ltd.
“Yao and Durant’s fresh, innovative, and in-depth look at the .NET Compact Framework gets developers up to speed using C# to develop robust and scaleable handheld software solutions. A definite must-read for mobile handheld developer enthusiasts!”

—Andrew Krowczyk, Software Architect, Zurich North America

.NET Compact Framework Programming with C# is the definitive tutorial and reference for the .NET Compact Framework (CF). It shows you how to transfer your skills and your code to the Pocket PC 2003 and other mobile and embedded smart devices.

Authors Paul Yao and David Durant draw upon their years of research and experience with members of the Microsoft .NET CF team to show you exactly how the best CF programming gets done in C#. This is the only book a programmer needs to master the art of CF coding. Throughout the book, sample code and examples illustrate best practices and programming techniques. In addition, the companion Web site includes downloadable code for all these examples, along with a set of development tools to help you with your CF development projects.

The authors expertly zero in on what programmers need to understand for successful smart device programming, including:

  • Garbage Collection in the .NET Compact Framework
  • Controls and supported Properties, Methods, and Events (PMEs)
  • Custom controls with Windows Forms Designer support
  • Using Platform Invoke (P/Invoke)
  • Simple and complex data binding and the DataGrid control
  • Programming with ADO.NET data classes
  • Synchronizing SQL Server CE with SQL Server 2000 databases
  • Creating graphical output, including font and printing coding tricks
  • Differences between the standard desktop framework and the CF

.NET Compact Framework Programming with C# is your single resource for everything you really need to know about CF programming.


Author's Site

Visit the Author's Web Site related to this title.

Sample Content

Online Sample Chapter

.NET Compact Framework Graphics

Downloadable Sample Chapter

Download the Sample Chapter related to this title.

Table of Contents




About the Authors.


1. .NET Compact Framework Architecture.

Windows CE Overview.

What Is .NET?

The .NET Compact Framework.


2. What Is a .NET Compact Framework Program?

The Essence of a .NET Compact Framework Program.

Using Visual Studio .NET 2003.

The Cistern Sample Program.

Adding Classes.


3. The .NET Type System.

Using Type Information: Namespace References and Assembly References.

Standard Types.


Type Conversion.

Memory Management.


4. Platform Invoke.

Overview of P/Invoke.

Creating P/Invoke Declarations.

Supported P/Invoke Function Parameters.

A Sample Program: CallWin32.

Writing Win32 Dynamic Link Libraries.

Manual P/Invoke Parameter Passing.

Communicating between Unmanaged and Managed Code.

Comparing P/Invoke Support.



5. Creating Forms.

What Are Forms?

Manipulating Forms.

Inheritance and Visual Inheritance.


6. Mouse and Keyboard Input.

Overview of Input.

Programming for Mouse Input.

Programming for Keyboard Input.


7. Inside Controls.

What Are Controls?

Categories of Controls.

Properties, Methods, and Events.

The Core Events.

The Core Properties.

The Core Methods.

Working with Control Type Information.

Five Commonly Used Controls.

A Sample Program: TimeTracker.

The Label Control 436The TextBox Control.

The ListBox and ComboBox Controls.

The Button Control.

The RadioButton and CheckBox Controls.


8. Data Binding to Controls.

Data Binding.

Complex Data Binding.

Simple Data Binding.

The DataGrid Control.


9. Inside More Controls.

Detecting Support for Properties, Methods, and Events.


Grabbing Events.

The ToolBar and ImageList Controls.

Dialog Boxes.


10. Building Custom Controls.

Custom Controls.

Controls as Objects.

Deriving Custom Controls from an Existing .NET Control.

Creating Composite Controls.

Creating New Controls.

Adding Animation to a Custom Control.

Authoring Custom Controls for the Multithreaded Environment.

Adding a Custom Control to the Visual Studio .NET Toolbox.


III. Managing Device Data.

11. Storage.

Smart-Device Data Storage.

File I/O.

Registry Access.


12. ADO.NET Programming.

Examining ADO.NET.

Working with Data Sets.

Microsoft SQL Server CE.

Microsoft SQL Server.

Web Services.


13. Synchronizing Mobile Data.

Understanding Remote Data Applications.

Installing Remote Data Connectivity.

Using RDA.

Using Merge Replication.

Choosing between Merge Replication and RDA.


14. The Remote API.

What Is ActiveSync?

RAPI Fundamentals.

Accessing the Object Store.

Detecting Changes in Device Connection State.

Loading Programs and DLLs.


IV. Creating Graphical Output.

15..NET Compact Framework Graphics.

An Introduction to .NET Compact Framework Graphics.

Drawing on the Display Screen.

Raster Graphics.

Vector Graphics.


16. Text and Fonts.

Drawing Text.

Font Selection.

Placing Text.

Text Color.


17. Printing.

The Printing Pipeline.

Programming for Printed Output.

Direct Printing.

Rendering with GDI.

HP Mobile Printing.

Rendering with PrinterCE.



Appendix A: Hungarian Notation for .NET Programs.

Goals and Objectives.


.NET Naming Guidelines.

Hungarian Notation.

Appendix B: Supported PMEs for .NET Compact Framework Controls.
Appendix C: Data Synchronization Wizards.

The Virtual Directory Creation Wizard.

The Create Publication Wizard.

Appendix D: Windows API Allocation and Cleanup Functions.


Download the Foreword related to this title.


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership