menus, common dialog boxes, sub procedures, and function ... · made by the user in the common...

29
Chapter 5 Menus, Common Dialog Boxes, Sub Procedures, and Function Procedures Copyright © 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. McGraw-Hill

Upload: others

Post on 11-Aug-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

Chapter 5

• Menus, Common

Dialog Boxes, Sub

Procedures, and

Function

Procedures

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

Page 2: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-2

Objectives

• Create menus and submenus for program control.

• Display and use the Windows common dialog

boxes.

• Create context menus for controls and the form.

• Write reusable code in sub procedures and

function procedures and call the procedures from

other locations.

Page 3: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-3

Menus

• Menu Bar

• Contains menus which drop down to display list of

menu items

–Can be used in place of or in addition to buttons to

execute a procedure

–Menu items are controls with properties and events.

• Easy to create menus for a Windows form using

the Visual Studio environment’s Menu Designer

• Menus will look and behave like standard

Windows menus.

Page 4: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-4

Defining Menus (1 of 2)

• MenuStrip component is

added to a form.

• MenuStrip is a container to

which ToolStripMenuItems,

ToolStripComboBoxes,

ToolStripSeparators, and

ToolStripTextBoxes can be

added.

Page 5: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-5

Defining Menus (2 of 2)

The MenuStrip component

appears in the component tray

below the form and the Menu

Designer allows you to begin

typing the text for the menu

items.

Page 6: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-6

The Text Property

• Holds the words that appear on the screen — like the

Text property of a button or label

• To conform to Windows standards, the first menu’s Text

property should be File, with a keyboard access key.

• Use the ampersand (&) in the text to specify the key

to use for keyboard access.

• Enter and change the Text property for each menu and

menu item using the Menu Designer or make the

changes in the Text property using the Properties

window.

Page 7: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-7

The Name Property

• The File menu item that is added is automatically

named FileToolStripMenuItem.

• The items are named so well that there won’t be a

need to change the Name property of any menu

component.

• If the Text property is changed for any menu

item, the item is not automatically renamed; it

will need to be renamed.

Page 8: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-8

The MenuStrip Items Collection

• ToolStripMenu Items in the collection can be

displayed, reordered, added, and deleted using the

Items Collection Editor.

Page 9: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-9

Submenus

• A filled triangle to the

right of the menu item

indicates the existence

of a submenu.

• Create submenus by

moving to the right of a

menu item and typing

the next item's text.

Page 10: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-10

Separator Bars

• Used for grouping menu

items according to their

purpose

• Visually represented as

a bar across the menu

• To create a separator

bar, add a new menu

item and click on its

drop-down arrow.

Page 11: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-11

Menu Properties

• Enabled property, True/False — can be set at design or run time

• Checked property, False/True — can be set at design or run time

•Used to indicate that an option is selected

• Setting keyboard shortcuts • Select the menu item and in Properties window for menu

item, select the ShortcutKeys property.

• Make choice from drop-down list.

Page 12: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-12

Standards for Windows Menus

• Follow Windows standards for applications.

• Include keyboard access keys.

• Use standards for shortcut keys, if used.

• Place the File menu at left end of menu bar and end File menu with the Exit command.

• Help, if included, is placed at right end of menu bar.

File Edit View Format Help

Page 13: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-13

Common Dialog Boxes

• Predefined standard dialog boxes for:

• Specifying colors and fonts

• Printing, opening, and saving

• Add appropriate Common Dialog components

to display the dialog boxes that are provided as

part of the Windows environment.

• To use a common dialog component, add the

component to the form, placing it in the component

tray.

Page 14: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-14

Common Dialog Tools

• Pointer

• ColorDialog

• FontBrowserDialog

• FontDialog

• OpenFileDialog

• SaveFileDialog

Page 15: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-15

Displaying a Windows Common Dialog Box

• Use ShowDialog method to display the common

dialog box at run time.

• ShowDialog only displays the dialog.

ColorDialog1.ShowDialog( )

FontDialog1.ShowDialog( )

Page 16: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-16

Modal versus Modeless Windows

• A dialog box is said to be modal when it stays on

top of the application and must be responded to.

• Use the ShowDialog method to display a dialog box —

it is a window displayed modally.

• Modeless windows do not demand that there is a

response.

• Use the Show method to display a modeless window.

• A modeless window can be ignored by the user.

Page 17: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-17

Using the Information from the Dialog Box

• Code must be written to retrieve and use the choice made by the user in the common dialog box.

• Example

• Color Dialog is displayed.

• User selects color and clicks OK — the selected color is stored in a property that can be accessed.

• Color that is selected is stored in the Color property and can be assigned to another object such as a control.

TitleLabel.BackColor = .ColorDialog1.Color

Page 18: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-18

Setting Initial Values

• Before executing the ShowDialog method, assign the existing values of the object's properties that will be altered.

• When the dialog box appears, the current values will be selected.

• If the user presses Cancel, property settings for the objects will remain unchanged.

FontDialog1.Font = SubTotalLabel.Font or

ColorDialog1.Color = .BackColor

Page 19: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-19

Creating Context Menus

• Shortcut menus that pop up when you right-click

• Items are specific to the component to which the user is pointing, reflecting options available for that component or situation.

• A ContextMenuStrip component is added and appears in the component tray below the form.

• A context menu does not have a top-level menu, only menu items.

• Application can have multiple context menus.

Page 20: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-20

Writing General Procedures

• A general procedure is reusable code that can be called from multiple procedures.

• Useful for breaking down large sections of code into smaller units

• Two types • A Sub Procedure performs actions.

• A Function Procedure performs actions AND returns a value (the return value).

Page 21: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-21

Passing Arguments to Procedures

• Declare variable as local and pass to any called

procedures —(can be module level, but it makes the

variable visible to all other procedures)

• If a sub procedure names an argument, any call to

the procedure must supply the argument.

• Name of the argument does not have to be the same

in both locations.

• Number of arguments, sequence, and data type

must match.

Page 22: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-22

Creating a New Sub Procedure

• In the Editor window, enclose the lines of code

with a set of Sub and End Sub statements.

• To use the Sub Procedure, call it from another

procedure.

• Code in a Sub Procedure cannot be executed

unless called from another procedure.

Private Sub ProcedureName( )

' Statements in the procedure.

End Sub

Page 23: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-23

Sub Procedure Example

Private Sub SelectColor(incomingColor As Color)

With ColorDialog1

.Color = incomingColor

.ShowDialog( )

End With

End Sub

Private Sub ChangeTitleButton_Click( )

Dim OriginalColor As Color

OriginalColor = TitleLabel.ForeColor

SelectColor(originalColor)

TitleLabel.ForeColor = ColorDialog1.Color

End Sub

Sub Procedure

Calling

Procedure

Page 24: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-24

Passing Arguments ByVal or ByRef

• ByVal — value

–Sends a copy of the argument’s value; original

cannot be altered.

• ByRef — reference

–Sends a reference to the memory location where

the original is stored and therefore the procedure

may change the argument’s value; original can be

altered

• If not specified, arguments are passed by value.

Page 25: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-25

Writing Function Procedures

• In the Editor window, enclose the lines

of code with Private Function( ) and End Function

statements.

• Since the procedure returns a value, a data type for the

value must be specified.

• To use the Function, Call it by using it in an expression.

• Pass arguments ByVal or ByRef.

Private Function ProcedureName( ) As Datatype

' Statements to execute.

End Function

Page 26: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-26

Returning the Result of a Function

• To return a value to the calling procedure, set up a

return value.

• The return value will be placed by VB in a variable

with the SAME name as the Function's name.

--OR--

• Use the Return statement to return the value.

Page 27: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-27

Function Example

Private Sub CalculateButton_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles CalculateButton.Click

Dim SalesDecimal As Decimal

SalesDecimal = Decimal.Parse(SalesTextBox.Text)

CommissionLabel.Text = Commission(SalesDecimal).ToString("C")

End With

End Sub

Calling

Procedure

Private Function Commission(ByVal SalesAmountDecimal As Decimal) _

As Decimal

If SalesAmountDecimal < 1000D Then

Commission = 0D

ElseIf SalesAmountDecimal <= 2000D Then

Commission = 0.15D* SalesAmountDecimal

Else

Commission = 0.2D * SalesAmountDecimal

End If

End Function

Function

Page 28: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-28

Functions with Multiple Arguments

• Functions can receive one or more arguments (values).

• Sequence and data type of arguments in Call must exactly

match arguments in function header.

Private Function Payment(ByVal RateDecimal As Decimal, ByVal

TimeDecimal As Decimal, _

ByVal AmountDecimal As Decimal) As Decimal

Dim RatePerMonthDecimal As Decimal

RatePerMonthDecimal = RateDecimal / 12D

' Calculate and set the return value of the function.

Payment = Convert.ToDecimal((AmountDecimal * RatePerMonthDecimal)

/ ((1 - (1 / (1 + RatePerMonthDecimal) ^ (TimeDecimal * 12D)))))

End Function

Page 29: Menus, Common Dialog Boxes, Sub Procedures, and Function ... · made by the user in the common dialog box. • Example • Color Dialog is displayed. • User selects color and clicks

5-29

Breaking Calculations into Smaller Units

• Projects with many calculations are easier to

understand and write if calculations are broken into

small units.

• Each unit should perform one program function or

logic block.