| | Copyright |
| | About the Authors |
| | Acknowledgments |
| | We Want to Hear from You! |
| | Introduction |
| | | What's in This Book |
| | | Conventions Used in This Book |
| | | What You'll Need |
| | | Online Resources |
|
| | Chapter 1. Setting Up Your Development Environment |
| | | Smart Device Extensions and the .NET Compact Framework |
| | | Targeting Nonstandard Devices |
| | | In Brief |
|
| | Chapter 2. Introducing the .NET Compact Framework |
| | | Why the .NET Compact Framework? |
| | | Examining the .NET Compact Framework in Detail |
| | | In Brief |
|
| | Chapter 3. Designing GUI Applications with Windows Forms |
| | | Investigating Unsupported Controls in the .NET Compact Framework |
| | | Investigating Unsupported System.Windows.Forms Functionality in the .NET Compact Framework |
| | | Working with the Visual Studio .NET Form Designer |
| | | Understanding the Different Windows Forms Target Platforms |
| | | Working with the Form Control |
| | | Programming the Button Control |
| | | Using the TextBox Control |
| | | Using the Label Control |
| | | Working with RadioButton Controls |
| | | Using the CheckBox Control |
| | | Using the ComboBox Control |
| | | Using the ListBox Control |
| | | Using the NumericUpDown Control |
| | | Using the DomainUpDown Control |
| | | Programming the ProgressBar Control |
| | | Using the StatusBar Control |
| | | Using the TrackBar Control |
| | | Using the ToolBar Control |
| | | Adding Menus with the MainMenu Control |
| | | Using a ContextMenu Control in an Application |
| | | Using the Timer Control |
| | | Using the OpenFileDialog and SaveFileDialog Controls |
| | | Using the Panel Control |
| | | Using the HScrollBar and VScrollBar Controls |
| | | Using the ImageList Control |
| | | Using the PictureBox Control |
| | | Using the ListView Control |
| | | Using the TabControl Control |
| | | Using the TreeView Control |
| | | Working with the DataGrid Control |
| | | In Brief |
|
| | Chapter 4. Using Threads and Timers in the .NET Compact Framework |
| | | Threads, Timers, and Windows CE |
| | | The Thread Class |
| | | Understanding Thread Basics |
| | | Coordinating Threads with the Mutex Class |
| | | Blocking until a Thread Finishes |
| | | Controlling Access to Data Objects with the Monitor Class |
| | | Managing Multiple Threads with a Thread Pool |
| | | Timers |
| | | Updating Variables with the Interlocked Class |
| | | In Brief |
|
| | Chapter 5. Network Connectivity with the .NET Compact Framework |
| | | Working with Sockets |
| | | Socket Programming with the .NET Compact Framework |
| | | Serializing Objects for Transmission through a Socket |
| | | Using UDP Packets |
| | | Multicasting with UDP Packets |
| | | Communicating with Remote Servers through the HTTP Protocol |
| | | Communicating with Remote Servers through the HTTPS Protocol |
| | | Communicating through the Device IrDA Port |
| | | In Brief |
|
| | Chapter 6. ADO.NET on the .NET Compact Framework |
| | | Introducing ADO.NET on the .NET Compact Framework |
| | | Caching Data with the DataSet |
| | | Understanding Constraints |
| | | Setting Up Autoincremented Fields |
| | | Modeling Relational Data with the DataSet |
| | | Creating Bindable Views of Data with a DataView |
| | | Binding Data to a Control |
| | | Comparing the Compact DataSet with the Desktop DataSet |
| | | In Brief |
|
| | Chapter 7. Programming with Microsoft SQL Server CE |
| | | Investigating the Features Supported by Microsoft SQL Server 2000 Windows CE Edition |
| | | Creating a Microsoft SQL Server CE Database |
| | | Adding Structure to a Microsoft SQL Server CE Database |
| | | Populating a Microsoft SQL Server CE Database |
| | | Retrieving Data by Using SqlCeDataReader |
| | | Filling a DataSet by Using the SqlCeDataAdapter |
| | | Updating the Microsoft SQL Server CE Database by Using the SqlCeDataAdapter |
| | | Generating SqlCommand Objects with the SqlCeCommandBuilder |
| | | In Brief |
|
| | Chapter 8. XML and the DataSet |
| | | XML and the .NET Compact Framework DataSet |
| | | Loading XML into a DataSet |
| | | Saving a DataSet as XML |
| | | Loading and Saving XML in a Sample Application |
| | | Modeling Relational Data with XML Schemas |
| | | Loading and Saving Schema Alone |
| | | Writing a DataSet to XML without Schema Information |
| | | Reading a DataSet from XML, Ignoring Schema Information |
| | | Inferring Schema |
| | | Using XML to Design a DataSet |
| | | Saving and Loading DataSet s as XML DiffGrams |
| | | In Brief |
|
| | Chapter 9. Using XML Web Services |
| | | Creating a Simple XML Web Service |
| | | Understanding the .NET Framework Web Service Client |
| | | Creating a Client for the Simple XML Web Service |
| | | Consuming a Web Service That Uses a DataSet |
| | | Consuming Web Service That Exposes a Typed DataSet |
| | | In Brief |
|
| | Chapter 10. Manipulating XML with the XmlTextReader and the XmlTextWriter |
| | | XML Architecture Overview |
| | | Working with the XmlTextReader |
| | | Loading XML Data into an XmlTextReader |
| | | Using the XmlTextReader 's Namespaces Property |
| | | Understanding the Normalization Property |
| | | Controlling White-Space Interpretation with the WhitespaceHandling Property |
| | | Using the XmlResolver Property |
| | | Reading XML Nodes |
| | | Reading XML Attributes |
| | | Understanding How to Perform Full-Content Reads |
| | | Skipping over Nodes |
| | | Closing the XmlTextReader |
| | | Working with the XmlTextWriter |
| | | Creating the XmlTextWriter |
| | | Manipulating Namespace Support |
| | | Formatting the XmlTextWriter 's Output |
| | | Writing an XML Declaration |
| | | Writing XML Elements |
| | | Writing XML Attributes |
| | | Writing xml:space and xml:lang Attributes |
| | | Writing Element and Attribute Content |
| | | Converting .NET Compact Framework Data Types through XmlConvert |
| | | Writing Raw XML Markup |
| | | Writing Other Nodes |
| | | Writing Processing Instructions |
| | | Writing White-Space Characters |
| | | In Brief |
|
| | Chapter 11. Working with the XML Document Object Model |
| | | Processing XML by Using the Document Object Model |
| | | Differences from the Desktop .NET Framework |
| | | Loading the XML DOM |
| | | Navigating the XML DOM |
| | | Accessing Text from Elements |
| | | Accessing Markup from Nodes |
| | | Accessing an Element's Attributes |
| | | Accessing Other XmlNodes |
| | | Searching an XML Document Node Tree |
| | | Creating XmlNodes |
| | | Creating XmlDeclarations |
| | | Creating XmlElement s |
| | | Creating XmlAttribute s |
| | | Creating Other Node Types |
| | | Inserting XmlNode s |
| | | Using the AppendChild and PrependChild Methods |
| | | Working with the InsertBefore and InsertAfter Methods |
| | | Inserting XmlAttributes into an XmlDocument |
| | | Replacing the XmlNode s within an XmlDocument |
| | | Removing XmlNode s for an XmlDocument |
| | | Removing XmlAttribute s from their XmlElement s |
| | | Writing the XmlDocument |
| | | In Brief |
|
| | Chapter 12. Interacting with Native Code |
| | | Understanding When to Call Native Code |
| | | Calling Native Code: Quick Start |
| | | Marshalling the Fundamental Data Types |
| | | Marshalling Simple Structures |
| | | Passing Nested Structures by Using Custom Marshalling Code |
| | | Calling the Windows CE Operating System |
| | | Accessing COM Components from the .NET Compact Framework |
| | | In Brief |
|
| | Chapter 13. Exploring .NET Reflection |
| | | Understanding the .NET Compact Framework Reflection API |
| | | Loading .NET Assemblies |
| | | Discovering Type Information |
| | | Creating Type Instances by Using ConstructorInfo |
| | | Invoking Methods by Using the MethodInfo Class |
| | | Using Reflection to Manipulate Object State |
| | | Adding Custom Metadata to .NET Elements |
| | | In Brief |
|
| | Chapter 14. Cryptography |
| | | Cryptography on the .NET Compact Framework |
| | | Invoking the CryptoAPI |
| | | Computing a Hash |
| | | Encrypting and Decrypting Data by Using a Password |
| | | Using Session Keys to Encrypt and Decrypt Data |
| | | Determining CryptoAPI Constants with the ConstFinder Sample Application |
| | | In Brief |
|
| | Chapter 15. Measuring the Performance of a .NET Compact Framework Application |
| | | Using a Stopwatch Timer to Measure Code Execution Time |
| | | Using .NET Compact Framework Performance Counters |
| | | In Brief |
|
| | Chapter 16. Deploying a .NET Application |
| | | Packaging a .NET Compact Framework Application |
| | | Using Visual Studio .NET to Package an Application |
| | | Using CAB Wizard to Package an Application |
| | | Distributing a .NET Compact Framework Application |
| | | In Brief |
|
| | Chapter 17. Developing for the SmartPhone |
| | | Introducing the SmartPhone |
| | | Developing for the SmartPhone by Using the .NET Compact Framework |
| | | Writing an Application for SmartPhoneXMLDataSetViewer |
| | | In Brief |
|