0% found this document useful (0 votes)
38 views

VB Chapter 7

This document discusses multiple forms, standard modules, and menus in Visual Basic 2010. It covers how to add multiple forms to a project, create standard modules to hold shared procedures and functions, and create menu systems with context menus, commands, and submenus. Specific topics covered include naming forms, adding and removing forms from a project, changing the startup form, creating instances of forms, displaying forms modally and modelessly, and form events like Load, Activated, Closing, and Closed. It also discusses accessing objects on different forms, class-level variables, the syntax of standard modules, and using module-level variables.

Uploaded by

Kybele
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

VB Chapter 7

This document discusses multiple forms, standard modules, and menus in Visual Basic 2010. It covers how to add multiple forms to a project, create standard modules to hold shared procedures and functions, and create menu systems with context menus, commands, and submenus. Specific topics covered include naming forms, adding and removing forms from a project, changing the startup form, creating instances of forms, displaying forms modally and modelessly, and form events like Load, Activated, Closing, and Closed. It also discusses accessing objects on different forms, class-level variables, the syntax of standard modules, and using module-level variables.

Uploaded by

Kybele
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 43

CSCI 3131.

01

Chapter 7 Multiple Forms, Standard Modules and Menus

Instructor: Bindra Shrestha

University of Houston – Clear Lake

Fall 2010
Acknowledgement

Dr. Xinhua Chen

And

Starting Out with Visual Basic 2010


by Tony Gaddis and Kip Irvine
Topics

Multiple Forms
Standard Modules
Menus
Introduction

• How to add multiple forms to a project


• How to create a standard module
– Holds procedures and functions not associated with
a specific form
• Creating a menu system
– Context menus
– With commands and submenus that the user may
select from
Form Names

• Each form has Name property


– Programs refer to a form by this name
– VB assigns name Form1
– Name property allows us
to change form name
– Standard prefix is frm
• Each form also has a file name (.vb extension)
– Forms are stored on disk using this name
– Right click in Solution Explorer, and select Rename
to change the file name
Adding a New Form to a Project

• Click Add New Item on the toolbar


– Or Project on menu, then Add Windows Form
• Add New Item dialog box appears
• Click on Windows Form
• Change the default name
• Click the Add button
• New form now appears in:
– Design window
– Solution Explorer
Switching from Forms to Form Code
• Design window has two tabs for each form
– One for form design
– One for the code associated with a form
• If you have two forms
frmMain & frmError, you
may select these tabs:
– Error form design
– Error form code
– Main form design
– Main form code
Removing a Form

• A form may also be removed from a project


• To remove a form and delete its file from disk:
– Right-click on the form in Solution Explorer
– Click Delete on the pop-up menu
• To remove a form but leave its file on disk:
– Right-click on the form in Solution Explorer
– Click Exclude from Project on the pop-up menu
Changing the Startup Form

• First form in a project becomes startup object


– Form displayed when application starts
• Right-click project in Solution Explorer to
change startup form
– Click Properties
– Click down arrow in
Startup Form box
– Select new startup
form from list
– Click Ok
Classes and Instances
• The form design is a class
– It’s only a design or description of a form
– Think of it like a blueprint
• A blueprint is a detailed description of a house
• A blueprint is not a house
• The form design can be used to create one or more
instances of the form
– Like building a house from the blueprint
• In order to use a form in a program, we must first
create an instance of it from the design
Creating an Instance of a Form
• Dim statement creates an instance of a form
Dim ObjectVariable As New ClassName()

• To create an instance of frmError:


Dim errorForm As New frmError()
– frmError is the form design name (the class)
– New frmError creates an instance of the form
– Variable errorForm refers to the form in RAM
– errorForm used to perform actions on the form
• The form is not yet visible, but it now exists
• Show or ShowDialog makes the form visible
Modal Forms & ShowDialog Method
• A modal form prevents the user from changing
focus to another form in the application as long
as it remains open
• For example:
errorForm.ShowDialog()
– Variable errorForm represents an instance of
frmError as shown in the previous slide
– The ShowDialog method displays the form instance
named errorForm as a modal form
• Must close errorForm in order to change focus
to another form in the application
Modeless Forms & Show Method

• A modeless form allows the user to change


focus at will to another form in the application
while the modeless form remains open
• For example:
errorForm.Show()
– Variable errorForm represents an instance of
frmError as shown previously
– The Show method displays the form instance
named errorForm as a modeless form
• Can change focus to other forms in the
application while errorForm remains open
Closing a Form

• A form may close itself using the Close method and


referring to itself using the keyword "Me":
Me.Close()

• As in
Private Sub btnClose_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnClose.Click

Me.Close()

End Sub
Hiding a Form

• Closing a Form removes it from memory


• To retain the form in memory but remove it from the
display, use the Hide Method:
Me.Hide()

• To redisplay a hidden form use the ShowDialog or


Show method
More on Modal and Modeless Forms
• Display of a modal form causes execution of calling
statements to halt until form is closed
statements
messageForm.ShowDialog()
' Statements below will not execute
' until the Form is closed
statements

• Display of a modeless form allows execution to continue


statements
messageForm.Show()
' Statements below will execute
' immediately after Form is displayed
statements

• Tutorial 7-1 demonstrates these differences


The Form Load Event
• The Load event is triggered just before the form is
initially displayed
• Any code needed to prepare the form prior to display
should be in the Load event
• If some controls should not be visible initially, set
their Visible property in the Load event
• Double click on a blank area of the form to set up a
Load event as shown below
Private Sub frmMain_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load

End Sub
The Form Activated Event
• The Activated event is triggered when focus switches
to the form from another form or application
• The Load event is triggered once when the form is
initially displayed
• The Activated event is also triggered when the form is
initially displayed
– Occurs immediately after the Load event
• The Activated event may be triggered many more
times, each time focus shifts back to the form
Creating an Activated Event Handler
• Create an Activated event handler by selecting frmMain events
from the class name drop-down list

• Then select the Activated Event from the method name drop-
down list
The Form Closing Event
• The Closing event is triggered as the form is being
closed, but before it has closed
• The Closing event can be used to ask the user if they
really want the form closed
Private Sub frmMain_Closing(ByVal sender As Object, _
ByVal e As System.ComponentModel.CancelEventArgs) _
Handles MyBase.Closing

If MessageBox.Show("Are you Sure?", "Confirm", _


MessageBoxButtons.YesNo) = DialogResult.Yes Then
e.Cancel = False 'continue, close form
Else
e.Cancel = True 'cancel form close
End If
End Sub
The Form Closed Event
• Closed event triggered after a form is closed
• Note that it is now too late to prevent the form from
being closed
– Form is already closed when event fires

• Create the Closing and Closed events in the same way


as the Activated event
– Click the class name drop-down list
– Select formname Events
– Click desired event from the method drop-down list
Using Objects on a Different Form
• When code in a form refers to an object, it is assumed
that object is in that same form
• You can refer to an object in another form
– Simply preface the object name with the variable name
associated with that form
– frmGreeting has a control named lblMessage
– Set Text property to Hello before displaying

Dim greetingForm As New frmGreeting()


greetingForm.lblMessage.Text = "Hello!"
greetingForm.ShowDialog()
Class-level Variables in a Form
• Class-level variables are Private by default
• Private variables are not accessible by code in other
forms
• To gain access to variables from other forms, a
variable must be declared as:
– Class level
– Public
Public sngTotal As Single
' Instead of the declaration
' Dim sngTotal As Single
Standard Modules

• A separate .vb file not associated with a form


• Contains no Event Procedures
• Used for code to be shared by multiple forms
• Procedures, functions, or variables used in one form
should be declared in that form
• Procedures, functions, or variables used by many
forms may be declared in a standard module
Syntax of Standard Module
Module ModuleName
[Module Contents]
End Module

• ModuleName is normally same as .vb file


• Module Contents are sub procedures and functions
which can be
– Private - used only by procedures or functions in that
module
– Public - can be called from anywhere in your Visual
Studio project
• If not specified, a procedure is public
Adding a Standard Module

• Click Add New Item on the toolbar


– Or Project on menu, then Add Module
• Add New Item dialog box appears
• Click on Module under Templates
• Change the default name if you choose
• Click the Add button
• A new empty module now appears in:
– Code window
– Solution Explorer
Module Level Variables

• These are declared within a module


• But outside of any functions or sub procedures in that
module
• If declared Dim or Private, the scope is the module
(called module scope)
• If declared Public, the scope is the entire application
(called global scope)

• Tutorial 7-3 demonstrates the use of a standard


module in an application
Application with No Startup Form

• Must change the startup form to Sub Main


• Main must be a public sub procedure
• It must be in a standard module
• When the application starts
– No Form will be displayed
– Main will be given control
Components of a Menu System

• Each drop-down menu has a menu name


• Each drop-down menu has a list of actions or menu
commands that can be performed
• Some commands may lead to a submenu
Components of a Menu System

• Actions may be performed using a key or key combination


called a shortcut key
• A checked menu command toggles between the checked
(if on) and unchecked (if off) states
• A separator bar helps group similar commands
MenuStrip Control

• A MenuStrip control adds a menu to a form


– Double-click on the MenuStrip icon in the Menus &
Toolbars section of the Toolbox
• The MenuStrip control is displayed in the component
tray (bottom of Design window)
• A MenuStrip can have many ToolStripMenuItem
objects:
– Each represents a single menu command
– Name property - used by VB to identify it
– Text property – text displayed to the user
ToolStripMenuItem Object Names

• Should begin with mnu


• Then by convention are named based on their
text property and position in the menu
hierarchy
– mnuFile
– mnuFileSave
– mnuFilePrint
– mnuFileExit
ToolStripMenuItem Text Properties

• The text property holds the menu item


description that is displayed to the user
• If an access key is assigned, that letter must be
preceded with an ampersand

Object Name Access Key Text Property


mnuFile F &File
mnuFileSave S &Save
mnuFilePrint P &Print
mnuFileExit X E&xit
Menu Designer

• The Menu Designer allows visual menu


creation by filling in boxes with the menu text:

Enter the
next menu
Enter first name
command in
the File menu
Shortcut Keys

• Keyboard based shortcuts that execute menu


commands without using the menu system
• For example, ctrl-c to Copy to the clipboard
• These are set via the Shortcut property of each
menu item
• A shortcut is displayed to the user only if the
ShowShortcut property is set to true
Checked Menu Items
• Some menu items just turn a feature on or off
– For example, an alarm for a clock
• To create a checked menu item:
– Set CheckOnClick property to true
– Set Checked property to True if feature should be
on when the form is initially displayed
• Can test a checked menu item in code
If mnuSettingsAlarm.Checked Then
MessageBox.Show("Wake Up!")
End If
Disabled Menu Items
• A menu item is grayed out (disabled) with the
Enabled property
• Paste option is initially disabled and only
enabled after something is cut or copied
– Code initially disables the Paste option
mnuEditPaste.Enabled = False
– Following a cut or copy, Paste is enabled
mnuEditPaste.Enabled = True
Adding Separator Bars

• Right-click menu item, select Insert Separator


– Separator inserted above the menu item
• Or create a menu item with one hyphen (-) as
the text property
Submenus
• When selecting a menu item in the designer, a
Type Here box appears to the right
– Begin a submenu by setting up this menu item
• If a menu item has a submenu, a solid right-
pointing arrow will be shown for this item
Inserting, Deleting, & Rearranging
• To insert a new menu item within the list
– Right-click the item to follow the new one
– Select Insert then MenuItem from pop-up menu
• Use Menu Designer to add new menu items at
the end by entering the text to appear
• To remove a menu item
– Right-click on the item
– Choose Delete from the pop-up menu
• The Menu Designer can rearrange items using a
click and drag approach
ToolStripMenuItem Click Events
• Menus and submenus require no code
• Commands must have a click event procedure
– Double click on the menu item
– Event procedure created in the code window
– Programmer supplies the code to execute
• Double click the menu item object
mnuFileExit, then add a Me.Close command as
shown below
Private Sub mnuFileExit_Click(ByVal sender as System.Object, _
ByVal e as System.EventArgs) Handles mnuFileExit.Click

Me.Close() Programmer supplied code

End Sub Click event procedure created by VB


Standard Menu Items

• In general follow the conventions that most


application menu systems use
– File is leftmost item with access key Alt-F
– File item has Exit command, access key Alt-X
– Help is the rightmost item
– Help menu has an About command

• Tutorial 7-4 demonstrates how to create a


menu system
Context Menus
• A pop-up menu that appears on a right-click
• Context menus are designed for a particular
control or set of controls
• To set up a Context Menu:
– Double-click ContextMenuStrip control in the
ToolBox to add it to the component tray
– Build menu system using Menu Designer
– Build Click event procedures as needed
– Use ContextMenuStrip property of form controls to
link desired control(s) to the menu

You might also like