Chapter 06

38
6-1 lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh lskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjh

description

 

Transcript of Chapter 06

Page 1: Chapter 06

6-1

aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhfaslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf

Page 2: Chapter 06

Multiform Projects

Chapter 66

McGraw-Hill © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

Page 3: Chapter 06

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

Page 4: Chapter 06

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

Page 5: Chapter 06

6-5

Creating New Forms

Select Add Windows Form from the Project menu and select from many installed templates

Page 6: Chapter 06

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

Page 7: Chapter 06

6-7

Switching Between Forms (2 of 2)

Using Tabs

Selecting from drop down list

Page 8: Chapter 06

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

Page 9: Chapter 06

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

Page 10: Chapter 06

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

Page 11: Chapter 06

6-11

An About Box (2 of 2)

Page 12: Chapter 06

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

Page 13: Chapter 06

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

Page 14: Chapter 06

6-14

Assembly Information Dialog Box

Page 15: Chapter 06

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

Page 16: Chapter 06

6-16

Splash Screen Example

Page 17: Chapter 06

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

Page 18: Chapter 06

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

Page 19: Chapter 06

6-19

Setting the Splash Screen Example

Set the Splash screen drop-down list to the new form in the Project Designer

Page 20: Chapter 06

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

Page 21: Chapter 06

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

Page 22: Chapter 06

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 ()

Page 23: Chapter 06

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 ()

Page 24: Chapter 06

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

Page 25: Chapter 06

6-25

Hide Method

General Form

Example

formName.Hide()

summaryForm.Hide()

Page 26: Chapter 06

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

Page 27: Chapter 06

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

Page 28: Chapter 06

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

Page 29: Chapter 06

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

Page 30: Chapter 06

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

Page 31: Chapter 06

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

Page 32: Chapter 06

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

Page 33: Chapter 06

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

Page 34: Chapter 06

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

Page 35: Chapter 06

6-35

The Static Statement

General Form

Examples

Static Identifier As DataType

Static personCountInteger As Integer

Statis reportTotalDecimal As Decimal

Page 36: Chapter 06

6-36

Namespaces

VB projects are automatically assigned to a namespaceNamespaces can be viewed and modified which is

called the root namespace

Page 37: Chapter 06

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

Page 38: Chapter 06

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