Home > Articles > Programming > Windows Programming

  • Print
  • + Share This
Like this article? We recommend

Like this article? We recommend

Creating a New Project

Return to the Start page, shown as the VS Home Page by the tab at the top, and click on Get Started. Now click on the Create New Project link. Doing so opens the New Project dialog box shown in Figure 3. Notice that there are many different languages you can use to create applications in Visual Studio.NET. This book will just focus on the Visual Basic projects.

Figure 3 The New Project dialog box.

If you examine the Visual Basic project types, you see that many of them are different from what you are used to with VB6. Some of the major project types are:

  • Windows Application—This is a standard executable, in VB6 terminology. It is the way to create applications with a Windows interface, using forms and controls. This is as close to "your father's VB" as you'll get in VB.NET.

  • Class Library—This project type allows you to create classes that will be used in other applications. Think of it as similar to the COM components that you have been building, which VB6 called the ActiveX DLL and ActiveX EXE project types.

  • Windows Control Library—This project type is for creating what used to be called ActiveX controls. This type allows you to create new controls to be used in Windows applications.

  • Web Application—Goodbye, Visual InterDev. Goodbye, scripting languages on the server. Visual Basic now has Web Application projects, which use ASP.NET to create dynamic Web applications. These projects allow you to create HTML, ASP.NET, and VB files. Your Web applications move beyond the simple request/response mode of typical Web applications to be event-driven.

  • Web Service—If you've used VB6 to create COM components and then made them available over HTTP with SOAP, you understand the concept of Web Services. Web Service projects are components that you make available to other applications via the Web; the underlying protocol is HTTP instead of DCOM, and you are passing requests and receiving responses behind the scenes using XML. Some of the major promises of Web Service projects are that they are all standards-based and are platform-independent. Unlike DCOM, which was tied to a COM (that is, Windows) infrastructure, Web Service projects can be placed on any platform that supports .NET, and can then be called by any application using simple HTTP calls.

  • Web Control Library—As with Web Service projects, there's no exact match back to VB6 for the Web Control Library projects. Thanks to the new Web Application projects in VB.NET, you can add controls to Web pages just like you would in a standard Windows Application, but VB.NET makes them HTML controls at runtime. You can design your own controls that can then be used by Web applications.

  • Console Application—Many of the Windows administrative tools are still console (or command-line, or DOS) applications. Previously, you didn't have a good way to create these tools in VB, and you instead had to rely on C++. Now console applications are natively supported by VB.NET.

  • Windows Services—As with console applications, there was no good way to create Windows services in previous versions of VB. Windows services, of course, are programs that run in the background of Windows and can automatically start when the machine is booted, even if no one logs in.

These are the basic types of applications you can create. You can also create an empty project (for Windows applications, class libraries, and services) or an empty Web Application (for Web applications).

Examining the IDE

If you are still on the New Project dialog box, choose to create a Windows Application. Name it LearningVB and click the OK button. After a time, a new project will open up. Notice that this adds a Form1.vb tab to the main window. In the main window, you now have an empty form. So far, you should feel pretty much at home.

If you look at the right side of the IDE, you'll see that you have a window called the Solution Explorer. This works like the Project Explorer in VB6, showing you the projects and files you have in the current solution (what VB6 called a group). The Solution Explorer currently lists the solution name, the project name, and all the forms and modules. Right now, there is just one form, named Form1.vb. You also see a new node, called References, in the list. If you expand the References node, you will see all the references that are already available to your project when you start. You can see the Solution Explorer in Figure 4. For now, don't worry too much about the references.

Figure 4 The Solution Explorer window.

A second tab, labeled Class View, exists at the bottom of the Server Explorer window. If you click on the Class View tab, you will see the LearningVB project listed. If you expand the project node, you will see that just Form1 is listed below it. Expand Form1, and you will see some of the form's methods, as well as a node for Bases and Implemented Interfaces. If you expand that node and the Form node under it, you will see a long list of properties, methods, and events available to you in the form. You can see a small part of this list in Figure 5. Again, don't worry about these for now. Just understand that this is certainly different from anything you saw in Visual Basic 6.

Figure 5 The new Class View window.

If you want to know more about what one of those properties or methods can do for you, it's easy to look it up in the Object Browser. For example, scroll down the Bases and Implemented Interfaces list until you find FocusInternal. Right-click on it and choose Browse Definition. You will see that the Object Browser opens as a tab in the main work area and that you are on the definition for the FocusInternal method. You can see that FocusInternal returns a Boolean. Figure 6 shows what this should look like in the IDE.

Figure 6 The Object Browser is now a tab in the main work area.

Below the Server Explorer/Class View windows is something that will be quite familiar to you: the Properties window. If you close the Object Browser and go back to the Form1.vb [Design] tab, you should see the properties for Form1. You might actually have to click on the form for it to get the focus. After the form has the focus, you will see the properties for the form. Most of these properties will look very familiar to you, although there are some new ones, of course. What some of these new properties are and what they can do for you, will be examined later in this chapter.


By default, the Properties window sorts by category instead of alphabetically. Therefore, it can be difficult to find certain properties. In the toolbar for the Properties window are buttons that enable you to switch between a categorized and alphabetical listing of the properties.

In the same area as the Properties window is a tab labeled Dynamic Help. This is a new Visual Studio.NET feature that allows you to have constantly updating help while you work. It monitors what you are doing in the IDE and provides a list of help topics for your current activity. For example, with only the form open and active, click on the Dynamic Help tab. You will get a list of help topics associated with the Forms Designer, how to add controls to a form, and similar topics. Figure 7 shows what this list will look like. Feel free to click around on various IDE windows and watch the dynamic help change.

Figure 7 The Dynamic Help window.

Along the left side of the IDE are two sideways tabs. The first tab is labeled Server Explorer, and the second tab is labeled Toolbox.

The Server Explorer is a new feature to the IDE. It allows for "discoverable" services on various servers. For example, if you want to find machines that are running Microsoft SQL Server, there is a SQL Server Databases node under each server. In Figure 8, you can see that I have two servers registered to my Server Explorer: craigpiii and laptop. Within Server Explorer, you can perform the actions that you used to perform with the Data View window. You can view the data in a table; you can drop or create tables; you can create, drop, and edit stored procedures; and you can do all the other activities you performed with the Data View window in VB6. If you did much with Visual InterDev, these tools will feel even more comfortable to you.

Figure 8 The new Server Explorer window.

You can also use the Server Explorer to find and connect to message queues, monitor another machine with the performance counters, and find Web services on other machines. The Server Explorer is a handy tool, with many of the admin functions that you need to perform all in one place.

The second sideways tab is Toolbox. The Toolbox is just what its name implies: It is the place for your controls that you want to put on a form. Notice, however, that this Toolbox is a little different from the Toolbox in VB6. In fact, it looks much more like the Toolbox from Visual InterDev. The Toolbox is split into horizontal tabs. Figure 9 shows the Win Forms tab open, but there are also Data, Components, Clipboard Ring, and General tabs. Don't worry too much about those other tabs for now.

Figure 9 The improved Toolbox.

  • + Share This
  • 🔖 Save To Your Account

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020