6-1
aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf
Multiform Projects
Chapter 66
McGraw-Hill © 2006 The McGraw-Hill Companies, Inc. All rights reserved.
6-3
Objectives
Include multiple forms in an applicationUse templates to create splash screens and about
boxesUse the Show, ShowDialog, and Hide methods to
display and hide formsUnderstand the various form events and select the
best procedure for your codeDeclare variables with the correct scope and access
level for multiform projects
6-4
Using Multiple Forms
Projects can appear more professional when using different windows for different type of information
The first form a project displays is a summary formProjects can contain as many forms as desired
6-5
Creating New Forms
Select Add Windows Form from the Project menu and select from many installed templates
6-6
Switching Between Forms (1 of 2)
In design time there are several ways to switch between forms:Solution Explorer window-select a form name and click
the View Designer button or the View Code buttonDouble-clicking a form name opens the form in designerEasiest way is to use the tabs at the top of the
Document window that appear when the form is displayed
Each form is a separate file and a separate class
6-7
Switching Between Forms (2 of 2)
Using Tabs
Selecting from drop down list
6-8
Adding Existing From Files
Forms may be used in more than one project-an existing form maybe used in a new project
Each form and information for the form is saved as three separate files:Code proceduresVisual interfaceProperty settings for the controls
To add an existing form to a project use the Add Existing Item command on the Project menuSelect only one filename: FormName.vb; all three files
are automatically copied into the project folder
6-9
Removing Forms from a Project
Select the file name in the Solution Explorer of the file to be removed
Either click the Delete key or right-click on the filename to and choose Delete form the context menu
Additional option is to choose Exclude from project to remove the form from the project but not delete the files
6-10
An About Box (1of 2)
One popular type of form in a project is an About box -found in most Windows programs under Help/About
Usually provides the name and version of the program and information about the programmer or company
Users can create About boxes by creating a new form and entering the information in labels
Windows controls can be used on a new form
6-11
An About Box (2 of 2)
6-12
Using the About Box Template
Visual Studio’s About Box template can be used to create a new About box
Choose Add Windows Form from the Project menu and select About Box
6-13
Setting Assembly Information
Users can manually set the Text properties of the controls
--OR--Open the Project Designer from Project/ProjectName
Properties or double-click the My Project in the Solution ExplorerClick the Assembly Information button and fill in the
desired information in the Assembly Information dialog box
6-14
Assembly Information Dialog Box
6-15
A Splash Screen
The initial screen containing a logo or window that is seen while a program is loading
Professional applications use splash screens to tell the user that the program is loading or starting
Makes a large application appear to load and run faster since something is displaying on the screen while the rest of the application loads
6-16
Splash Screen Example
6-17
Using the Splash Screen Template
Visual Studio contains splash screen templatesSelect Project/Add New Item to display the Add new
item dialog box and choose Splash Screen Modify the form to fit current needs
A splash form created using the Splash Screen template
6-18
Making the Splash Form Display First
Display the Project Designer from the Project menu and set the Splash screen drop-down list to the created splash screen
Do not change the setting for Startup object or Shutdown mode
Then the project is run, the splash screen should display while the startup form is loading and then disappear
At times the startup forms loads so quickly that it is nearly impossible to see the splash screen
6-19
Setting the Splash Screen Example
Set the Splash screen drop-down list to the new form in the Project Designer
6-20
Showing a Form
New forms are displayed in response to a user clicking a button or a menu item
In the event procedure for the button or menu item use either the Show method or ShowDialog method to display the new form
6-21
Modal versus Modeless Forms
Show method displays a form as modeless-means that both forms are open and the user can navigate from one form to the other
ShowDialog method displays a new form as modal -the user must respond to the form in some way, usually by clicking a buttonNo other program code can execute until the user
responds to and hides or closes the modal formWith a modeless form the user may switch to another
form in the project without responding to the form
6-22
Show Method
General Form
Example
The Show method creates a form object from the specified class and displays it modelessly-the formName is the name of the form to be displayed
formName.Show ()
summaryForm.Show ()
6-23
ShowDialog Method
General Form
Example
Use the ShowDialog method when the user is wanted to notice, respond to, and close the form before proceeding with the application-this code is generally placed in a menu item or a button’s click even procedure
formName.ShowDialog ()
summaryForm.ShowDialog ()
6-24
Hiding or Closing a Form
The Close method behaves differently for a modeless form compared to a modal formModeless-Close destroys the form instance and
removes it from memoryModal-the form is only hidden
Choosing a form’s Hide method sets the form’s Visible property to False and keeps the form instance in memory ready to be re-displayedAn example would be for form with instructions or Help
text
6-25
Hide Method
General Form
Example
formName.Hide()
summaryForm.Hide()
6-26
Responding to Form Events
Two primary events that code might be needed for are:FormName.Load-form loaded into memoryFormName.Activated-occurs when control is passed to
formFirst time a form is shown in an application the form
generates both the Load and Activated eventsIf a form is displayed multiple times, initializing steps
can be placed into the Activated event procedure; same for setting the focus in a particular place on a new form
6-27
The Sequence of Form Events
Load Occurs before the form is displayed for the first time-usually happens only once
Activate Occurs each time the form is shown
Paint Occurs each time any portion of the form is redrawn
Deactivate Occurs when the form is no longer the active form
FormClosing Occurs as the form is about to close
FomClosed Occurs after the form is closed
6-28
Writing Event Procedures From the Code Editor
In the Editor, drop down the Class Name list and choose the entry that shows the events for the selected form
In the Method Name list select the event for which to write a procedure—events already having a written procedure appear in bold
6-29
Writing Event Procedures From the Properties Window in the Designer
Select an event using the Properties windowClick the form to show properties and click Events buttonDouble-click the event to create an empty event procedure
6-30
Holding the Splash Screen Display
If application are very small the splash screen disappears before it can be read
Code can be written to hold the splash screen longer
6-31
Variables/Constants in Multiform Projects
For module-level variables to be available in more than one form in a project it must be declared as Friend or Public and not as Private
Scope can be expanded for variable and constants and is the set of statements that can access a variable or constant without qualifying its name
6-32
Access Level
Specifies the permission required to make use of the variable or constant
To make a variable available to other forms use either the Public or Friend keywordsFriend-allows other forms in the project to access the
variablePublic-allows all other programs to access variables
Private keyword allows access only in the class (form) in which it is declared
Only use access level keywords for module level variable
6-33
Lifetime
The period of time that a variable or constant remains in existence
Module and namespace variables exist as long as the application runs
6-34
Static Variables
Use to declare local and block level variablesRetain their value for the life of the projectIf the value in a variable needs to be retained for
multiple calls to a procedure such as running count, declare it as Static
If the variable is used in multiple procedures, declare it at the module level
6-35
The Static Statement
General Form
Examples
Static Identifier As DataType
Static personCountInteger As Integer
Statis reportTotalDecimal As Decimal
6-36
Namespaces
VB projects are automatically assigned to a namespaceNamespaces can be viewed and modified which is
called the root namespace
6-37
Declaring Variables/Constants Guidelines
Place all local declarations at the top of a procedureUse named constants for any value that doesn’t change during
the program executionKeep the scope of variables and constants narrowConsider making variables local if possibleMake variables Static if needed for multiple executions within a
procedureIf variables are needed for more than one procedure, declare it
as local and pass it as an argumentUse Private module level variables if using a variable in multiple
procedures and displaying in anotherIf using the value of a variable in more than one form declare it as
Friend
6-38
Running a Program Outside the IDE
The .exe file can be moved to another computer, placed on the system desktop, or used as a shortcut just like any other application
If copying the .exe file to another system make sure it has the Microsoft.NET FrameworkCan download the framework for free from the Microsoft
Web siteChange the icon if desired