- ISBN: 9780672325700 | 0672325705
- Cover: Paperback
- Copyright: 8/28/2003
Introduction | p. 1 |
What's in This Book | p. 1 |
Conventions Used in This Book | p. 4 |
What You'll Need | p. 4 |
Online Resources | p. 5 |
Setting Up Your Development Environment | p. 7 |
Smart Device Extensions and the .NET Compact Framework | p. 7 |
Targeting Nonstandard Devices | p. 16 |
In Brief | p. 32 |
Introducing the .NET Compact Framework | p. 33 |
Why the .NET Compact Framework? | p. 33 |
Examining the .NET Compact Framework in Detail | p. 35 |
In Brief | p. 42 |
Designing GUI Applications with Windows Forms | p. 43 |
Investigating Unsupported Controls in the .NET Compact Framework | p. 43 |
Investigating Unsupported System.Windows.Forms Functionality in the .NET Compact Framework | p. 44 |
Working with the Visual Studio .NET Form Designer | p. 44 |
Understanding the Different Windows Forms Target Platforms | p. 49 |
Working with the Form Control | p. 52 |
Programming the Button Control | p. 55 |
Using the TextBox Control | p. 56 |
Using the Label Control | p. 56 |
Working with RadioButton Controls | p. 56 |
Using the CheckBox Control | p. 58 |
Using the ComboBox Control | p. 59 |
Using the ListBox Control | p. 63 |
Using the NumericUpDown Control | p. 65 |
Using the DomainUpDown Control | p. 69 |
Programming the ProgressBar Control | p. 72 |
Using the StatusBar Control | p. 73 |
Using the TrackBar Control | p. 73 |
Using the ToolBar Control | p. 74 |
Adding Menus with the MainMenu Control | p. 78 |
Using a ContextMenu Control in an Application | p. 79 |
Using the Timer Control | p. 83 |
Using the OpenFileDialog and SaveFileDialog Controls | p. 86 |
Using the Panel Control | p. 88 |
Using the HScrollBar and VScrollBar Controls | p. 88 |
Using the ImageList Control | p. 89 |
Using the PictureBox Control | p. 90 |
Using the ListView Control | p. 92 |
Using the TabControl Control | p. 98 |
Using the TreeView Control | p. 100 |
Working with the DataGrid Control | p. 104 |
In Brief | p. 110 |
Using Threads and Timers in the .NET Compact Framework | p. 111 |
Threads, Timers, and Windows CE | p. 111 |
The Thread Class | p. 112 |
Understanding Thread Basics | p. 113 |
Coordinating Threads with the Mutex Class | p. 121 |
Blocking until a Thread Finishes | p. 125 |
Controlling Access to Data Objects with the Monitor Class | p. 128 |
Managing Multiple Threads with a Thread Pool | p. 130 |
Timers | p. 131 |
Updating Variables with the Interlocked Class | p. 135 |
In Brief | p. 136 |
Network Connectivity with the .NET Compact Framework | p. 139 |
Working with Sockets | p. 139 |
Socket Programming with the .NET Compact Framework | p. 141 |
Serializing Objects for Transmission through a Socket | p. 150 |
Using UDP Packets | p. 151 |
Multicasting with UDP Packets | p. 155 |
Communicating with Remote Servers through the HTTP Protocol | p. 157 |
Communicating with Remote Servers through the HTTPS Protocol | p. 159 |
Communicating through the Device IrDA Port | p. 159 |
In Brief | p. 166 |
ADO.NET on the .NET Compact Framework | p. 167 |
Introducing ADO.NET on the .NET Compact Framework | p. 167 |
Caching Data with the DataSet | p. 167 |
Understanding Constraints | p. 175 |
Setting Up Autoincremented Fields | p. 178 |
Modeling Relational Data with the DataSet | p. 179 |
Creating Bindable Views of Data with a DataView | p. 187 |
Binding Data to a Control | p. 194 |
Comparing the Compact DataSet with the Desktop DataSet | p. 196 |
In Brief | p. 196 |
Programming with Microsoft SQL Server CE | p. 199 |
Investigating the Features Supported by Microsoft SQL Server 2000 | p. 199 |
Creating a Microsoft SQL Server CE Database | p. 200 |
Adding Structure to a Microsoft SQL Server CE Database | p. 204 |
Populating a Microsoft SQL Server CE Database | p. 210 |
Retrieving Data by Using Sq1CeDataReader | p. 213 |
Filling a DataSet by Using the Sq1CeDataAdapter | p. 223 |
Updating the Microsoft SQL Server CE Database by Using the Sq1CeDataAdapter | p. 227 |
Generating Sq1Command Objects with the Sq1CeCommandBuilder | p. 233 |
In Brief | p. 235 |
XML and the DataSet | p. 237 |
XML and the .NET Compact Framework DataSet | p. 237 |
Loading XML into a DataSet | p. 238 |
Saving a DataSet as XML | p. 241 |
Loading and Saving XML in a Sample Application | p. 245 |
Modeling Relational Data with XML Schemas | p. 246 |
Loading and Saving Schema Alone | p. 256 |
Writing a DataSet to XML without Schema Information | p. 257 |
Reading a DataSet from XML, Ignoring Schema Information | p. 257 |
Inferring Schema | p. 258 |
Using XML to Design a DataSet | p. 259 |
Saving and Loading DataSets as XML DiffGrams | p. 261 |
In Brief | p. 263 |
Using XML Web Services | p. 265 |
Creating a Simple XML Web Service | p. 265 |
Understanding the .NET Framework Web Service Client | p. 271 |
Creating a Client for the Simple XML Web Service | p. 272 |
Consuming a Web Service That Uses a DataSet | p. 280 |
Consuming Web Service That Exposes a Typed DataSet | p. 284 |
In Brief | p. 287 |
Manipulating XML with the XmlTextReader and the XmlTextWriter | p. 289 |
XML Architecture Overview | p. 289 |
Working with the XmlTextReader | p. 290 |
Loading XML Data into an XmlTextReader | p. 290 |
Using the XmlTextReader's Namespaces Property | p. 293 |
Understanding the Normalization Property | p. 294 |
Controlling White-Space Interpretation with the WhitespaceHandling Property | p. 296 |
Using the XmlResolver Property | p. 298 |
Reading XML Nodes | p. 299 |
Reading XML Attributes | p. 306 |
Understanding How to Perform Full-Content Reads | p. 312 |
Skipping over Nodes | p. 318 |
Closing the XmlTextReader | p. 320 |
Working with the XmlTextWriter | p. 320 |
Creating the XmlTextWriter | p. 321 |
Manipulating Namespace Support | p. 321 |
Formatting the XmlTextWriter's Output | p. 322 |
Writing an XML Declaration | p. 323 |
Writing XML Elements | p. 324 |
Writing XML Attributes | p. 327 |
Writing xml:space and xml:lang Attributes | p. 329 |
Writing Element and Attribute Content | p. 332 |
Converting .NET Compact Framework Data Types through XmlConvert | p. 338 |
Writing Raw XML Markup | p. 341 |
Writing Other Nodes | p. 343 |
Writing Processing Instructions | p. 345 |
Writing White-Space Characters | p. 347 |
In Brief | p. 348 |
Working with the XML Document Object Model | p. 351 |
Processing XML by Using the Document Object Model | p. 351 |
Differences from the Desktop .NET Framework | p. 352 |
Loading the XML DOM | p. 353 |
Navigating the XML DOM | p. 354 |
Accessing Text from Elements | p. 358 |
Accessing Markup from Nodes | p. 359 |
Accessing an Element's Attributes | p. 362 |
Accessing Other XmlNodes | p. 365 |
Searching an XML Document Node Tree | p. 366 |
Creating XmlNodes | p. 367 |
Creating XmlDeclarations | p. 368 |
Creating XmlElements | p. 369 |
Creating XmlAttributes | p. 369 |
Creating Other Node Types | p. 370 |
Inserting XmlNodes | p. 371 |
Using the AppendChild and PrependChild Methods | p. 372 |
Working with the InsertBefore and InsertAfter Methods | p. 373 |
Inserting XmlAttributes into an XmlDocument | p. 374 |
Replacing the XmlNodes within an XmlDocument | p. 376 |
Removing XmlNodes for an XmlDocument | p. 378 |
Removing XmlAttributes from their XmlElements | p. 379 |
Writing the XmlDocument | p. 381 |
In Brief | p. 382 |
Interacting with Native Code | p. 383 |
Understanding When to Call Native Code | p. 383 |
Calling Native Code: Quick Start | p. 384 |
Marshalling the Fundamental Data Types | p. 388 |
Marshalling Simple Structures | p. 397 |
Passing Nested Structures by Using Custom Marshalling Code | p. 402 |
Calling the Windows CE Operating System | p. 406 |
Accessing COM Components from the .NET Compact Framework | p. 410 |
In Brief | p. 411 |
Exploring .NET Reflection | p. 413 |
Understanding the .NET Compact Framework Reflection API | p. 413 |
Loading .NET Assemblies | p. 413 |
Discovering Type Information | p. 414 |
Creating Type Instances by Using ConstructorInfo | p. 417 |
Invoking Methods by Using the MethodInfo Class | p. 426 |
Using Reflection to Manipulate Object State | p. 435 |
Adding Custom Metadata to .NET Elements | p. 460 |
In Brief | p. 468 |
Cryptography | p. 469 |
Cryptography on the .NET Compact Framework | p. 469 |
Invoking the CryptoAPI | p. 470 |
Computing a Hash | p. 474 |
Encrypting and Decrypting Data by Using a Password | p. 479 |
Using Session Keys to Encrypt and Decrypt Data | p. 491 |
Determining CryptoAPI Constants with the ConstFinder Sample Application | p. 507 |
In Brief | p. 507 |
Measuring the Performance of a .NET Compact Framework Application | p. 509 |
Using a Stopwatch Timer to Measure Code Execution Time | p. 509 |
Using .NET Compact Framework Performance Counters | p. 514 |
In Brief | p. 523 |
Deploying a .NET Application | p. 525 |
Packaging a .NET Compact Framework Application | p. 525 |
Using Visual Studio .NET to Package an Application | p. 525 |
Using CAB Wizard to Package an Application | p. 526 |
Distributing a .NET Compact Framework Application | p. 534 |
In Brief | p. 539 |
Developing for the SmartPhone | p. 541 |
Introducing the SmartPhone | p. 541 |
Developing for the SmartPhone by Using the .NET Compact Framework | p. 542 |
Writing an Application for SmartPhone--XMLDataSetViewer | p. 543 |
In Brief | p. 547 |
Index | p. 549 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.