chapter 6 · chapter 6 multiform projects ... summary form. • projects can ... programming in...

37
Chapter 6 Multiform Projects Copyright © 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. McGraw-Hill

Upload: nguyenhuong

Post on 06-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

Chapter 6

Multiform Projects

Copyright © 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. McGraw-Hill

Page 2: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-2

Objectives

• Include multiple forms in an application.

• Use templates to create splash screens and About

boxes.

• Use the Show, ShowDialog, and Hide methods to

display and hide forms.

• Understand the various form events and select the

best procedure for your code.

• Declare variables with the correct scope and

access level for multiform projects.

Page 3: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-3

Using Multiple Forms

• Projects can appear more professional when using

different windows for different types of information.

• Often, the first form a project displays is a

summary form.

• Projects can contain as many forms as desired.

Page 4: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-4

Creating New Forms

• Select Add Windows Form from the Project menu

and select from many installed templates.

Page 5: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-5

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

button.

• Double-clicking a form name opens the form in

designer.

• Easiest 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 6: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-6

Switching Between Forms (2 of 2)

Using Tabs

Selecting from drop-down

list

Page 7: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-7

Adding Existing Form Files

• Forms may be used in more than one project—an existing form may be used in a new project.

• Each form and information for the form is saved as three separate files:

• Code procedures

• Visual interface

• Property settings for the controls

• To add an existing form to a project, use the Add Existing Item command on the Project menu,

• Select only one filename: FormName.vb; all three files are automatically copied into the project folder,

Page 8: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-8

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 from the context

menu.

• Additional option is to choose Exclude from project

to remove the form from the project but not delete

the files.

Page 9: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-9

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.

• You can add Windows controls to a new About Box

form.

Page 10: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-10

An About Box (2 of 2)

Page 11: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-11

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 12: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-12

Setting Assembly Information

• Users can manually set the Text properties of the

controls (not recommended).

--OR--

• Open the Project Designer form.

Project/ProjectName Properties or double-click My

Project in the Solution Explorer

• Click the Assembly Information button and fill in the

desired information in the Assembly Information dialog

box.

Page 13: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-13

Assembly Information Dialog Box

Page 14: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-14

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 15: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-15

Splash Screen Example

Page 16: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-16

Using the Splash Screen Template

• Visual Studio contains splash screen templates.

• Select Project/Add New Item to display the Add

New Item dialog box and choose Splash Screen to

add the new form.

• Modify the form to fit current needs.

A splash form

created using the

Splash Screen

template

Page 17: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-17

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.

• When the project is run, the splash screen should

display while the startup form is loading, and then

disappear when the startup form activates.

Page 18: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-18

Setting the Splash Screen — Example

Set the Splash

screen drop-

down list to the

new form in the

Project

Designer.

Page 19: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-19

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 20: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-20

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 button.

• No other program code can execute until the user

responds to and hides or closes the modal form.

• With a modeless form, the user may switch to another

form in the project without responding to the form.

Page 21: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-21

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 22: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-22

ShowDialog Method

• General Form

• Example

• Use the ShowDialog method when you want the user to notice, respond to, and close the form before proceeding with the application.

FormName.ShowDialog ()

SummaryForm.ShowDialog ()

Page 23: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-23

Hiding or Closing a Form

• The Close method behaves differently for a

modeless form compared to a modal form.

• Modeless — Close destroys the form instance and

removes it from memory.

• Modal — 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.

• An example would be for a form with instructions or

Help text

Page 24: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-24

Hide Method

• General Form

• Example

FormName.Hide()

SummaryForm.Hide()

Page 25: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-25

Responding to Form Events

• Two primary events that code might be needed for are:

• FormName.Load — form loaded into memory

• FormName.Activated — occurs when control is passed

to form

• The first time a form is shown in an application, the form

generates both the Load and Activated events.

• If 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 26: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-26

The Sequence of Form Events

Load Occurs before the form is displayed for the

first time — usually happens only once

Activated 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

FormClosed Occurs after the form is closed

Page 27: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-27

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 28: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-28

Writing Event Procedures

From the Properties Window in the Designer

• Select an event using the Properties window.

• Click the form to show properties and click Events button.

• Double-click the event to create an empty event procedure.

Page 29: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-29

Holding the Splash Screen Display

• If applications are very small, the splash screen

disappears before it can be read.

• Code can be written to hold the splash screen

longer by calling the:

System.Threading.Thread.Sleep() method in the

Load event procedure for the startup form of the

project.

• Example:

–System.Threading.Thread.Sleep(5000) – Note: this information is not in the text, but can be useful.

Page 30: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-30

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.

• Public is not recommended for multi-form access.

Use friend.

Page 31: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-31

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 keywords.

• Friend — allows other forms in the project to access the

variable

• Public — allows all other programs to access variables

(not recommended)

• Private keyword allows access only in the class (form)

in which it is declared.

• Only use access-level keywords for module-level

variables.

Page 32: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-32

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 33: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-33

Static Variables

• Use to declare local and block-level variables

• Retain their value for the life of the project

• If 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 34: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-34

The Static Statement

• General Form

• Examples

Static Identifier As DataType

Static PersonCountInteger As Integer

Static ReportTotalDecimal As Decimal

Page 35: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-35

Namespaces

• VB projects are automatically assigned to a

namespace.

• Namespaces can be viewed and modified, which is

called the root namespace.

Page 36: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-36

Declaring Variables/Constants: Guidelines

• Place all local declarations at the top of a procedure.

• Use named constants for any value that doesn’t change during the program execution.

• Keep the scope of variables and constants narrow.

• Consider making variables local, if possible.

• Make variables Static, if needed, for multiple executions within a procedure.

• If variables are needed for more than one procedure, declare it as local and pass it as an argument.

• Use Private module-level variables if using a variable in multiple procedures and displaying in another.

• If using the value of a variable in more than one form, declare it as Friend.

Page 37: Chapter 6 · Chapter 6 Multiform Projects ... summary form. • Projects can ... Programming in Visual Basic 2008 Created Date: 2/26/2013 10:53:45 PM

6-37

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 correct version of the Microsoft.NET

Framework.

• Can download the framework for free from the

Microsoft Web site

• Change the icon, if desired.