Developing for Smart Devices with Visual Basic

Visual Studio 2008 supports Visual Basic for smart device application development. It provides the tools and Framework you need to develop applications for Pocket PC, Smartphone, and other Windows CE-based platforms.

You can develop two kinds of applications for devices, broadly speaking:

  • Mobile Web applications run on a Web server and are rendered in different formats on a range of browser-equipped mobile devices. For more information, see Creating ASP.NET Mobile Web Pages.

  • Windows CE-based rich-client applications run on the device itself. This approach is generally what we mean by the term "application for smart devices."

  • When developing for smart devices, you use the same Visual Studio environment that is used when developing desktop applications, but some differences manifest themselves when you are targeting devices. These differences include:

  • Additional tools for connecting to and debugging on a remote device.

  • Besides choosing a project type and template when creating a project, you must select a device on which to run and debug the application. This device can be a physical device connected to the development computer, a networked device, or a device emulator running on the development computer.

  • Classes and their members differ when developing for devices. To determine whether or not a class and its members are available, consult the documentation, use IntelliSense, or use the Visual Studio Object Browser while the project is active. For more information, see .NET Compact Framework.

Creating a Device Application

An enhanced New Project dialog box in Visual Studio 2008 replaces the Smart Device Application Wizard of Visual Studio .NET 2003. In Visual Studio 2008, you make all choices regarding project types and templates from the New Project dialog box. For more information, see How to: Create Device Applications Using Visual Basic or Visual C#.

For a list of tasks involving smart devices, see Smart Device Applications (How Do I in Visual Basic).

Data and Devices

The .NET Compact Framework provides a rich implementation of ADO.NET for devices, supporting the DataSet and DataView classes. This support includes the DataRelation and Constraint classes, and other classes that define and manipulate the DataSet. The .NET Compact Framework also includes the SQL Server .NET data provider. For more information, see Data Access and XML Support in the .NET Compact Framework and the System.Data.SqlServerCe namespace.


The .NET Compact Framework provides the networking socket-level API and higher-level abstractions, such as HTTP, DNS, and Web requests and responses. Connectivity is provided over Infrared Data Association (IrDA) and TCP/IP transports through the sockets API. For more information, see Networking and Connectivity in the .NET Compact Framework.

This table lists tasks specific to the Pocket PC.



Use a DocumentList control to handle file management tasks in your application

How to: Use a DocumentList Control

Use form elements in your application

Pocket PC Form Style

Activate applications from a physical hardware button with a HardwareButton component in your application

How to: Use the HardwareButton Component

Use an InputPanel component in your application

How to: Use the InputPanel Component

Select Pocket PC input methods for user input in your application

How to: Set Pocket PC Input Methods

Send and respond to a notification in your application

How to: Send a Notification

Detect navigation keys

How to: Detect Navigation Keys

The .NET Compact Framework can be installed on Windows Mobile 2003 Smartphones and later.

This table lists tasks specific to Smartphone development.



Set Smartphone input methods in your application

How to: Set Smartphone Input Modes

Override the back key

How to: Override the Smartphone Back Key

Use Smartphone menus

How to: Use Smartphone Menus

Community Additions