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 ApplicationThis 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 LibraryThis 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 LibraryThis 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 ApplicationGoodbye, 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 ServiceIf 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 LibraryAs 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 ApplicationMany 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 ServicesAs 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.