ISM 3253 Topics 2: Form, Control, Event

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 35

ISM 3253 Topics 2: Form, Control,

Event
 Program Elements
 Assignment Operations
 Events & Event Procedures
 Properties
 Tab Order and Access Keys
 Save Files
Review: Visual Studio &
Programming
 A computer program consists of instructions
readable by the computer which direct its
operations
 In modern development, programs begin as
instructions readable by (trained) humans…
 …And end up as instructions readable by the
computer
Review: Visual Studio &
Programming (cont.)
Programs consist of many parts …
 Visual Studio and Visual Basic support:
 Authoring the component parts of the programs
 Managing the program parts
 Converting the parts you write into machine readable
format
 Combining the parts you write with a huge collection
of pre-written instructions
 Other tasks
Projects

 Projects may consist of many parts


 Solution—multiple programs
developed together
SOLUTION

 We will not use this


PROJECT
 Project—one program (Program)

 All elements
are optional… FORM CLASS MODULE MISC.
 …but it must
have at least
one
Projects—Forms

 Forms provide the


visual interface for a
program
 Forms contain
 Controls
 Properties
 Methods
 Events with code
 Non-event code
 Controls also contain Properties, Methods, and Event
Code
Assignment Operations (Our
First Code)
 A common code involves assigning a value to
a container
Container = Value
 Both Container and Value can be
 Property
 Variable
 Object
 In this use the equal sign is the assignment
operator
Assignment Operations (cont.)

 Examples
 intQuantity = 123
places the value 123 into the variable intQuantity
 stLastName = “Jones”
places the value “Jones” into the variable stLastName
 lblLastName.Text = stLastName
places the contents of the variable stLastName
(whatever they are) into the Text property of the label
control lblLastName
Events
 Forms, Controls, and Classes recognize events
 Events are predefined (or programmer defined)
actions against an object
 If the action occurs…
 And if there is code written for the event…
 Then the code will execute
 Three kinds of events for forms and controls
 Commonly used
 Less commonly used
 Almost never used
Events (cont.)
 Our first event—The Click Event for a button
lblTransfer txtTransfer cmdTransfer

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


ByVal e As System.EventArgs) Handles cmdTransfer.Click
'***************************************************************
'* Places the contents of the txtTransfer text box
'* into the lblTransfer label text property
'***************************************************************

lblTransfer.Text = txtTransfer.Text

End Sub
Events (cont.)
Line continuation character
Name of the event procedure

Event Arguments

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

ByVal e As System.EventArgs) Handles cmdTransfer.Click

Control and event that triggers the code

 Event Arguments are created automatically and are only used for advanced
purposes
 The procedure name and Handles expression are also created automatically
 The event procedure header (what we are seeing here) is actually created
as one long line
 Use the line continuation character to break it into two physical lines
 But still treated as one logical line
Creating Event Procedures—
Default Events
 Double-clicking a control or form in design view
creates the template for the default event
 Form: Load event
 Button: Click event
 Text Box: TextChanged event
 Label: Click event
 Check Box & Radio Button: CheckChanged event
 Combo Box & List Box: SelectedIndexChanged
 Date Time Picker: ValueChanged event
 NumericUpDown: ValueChanged event
Creating Event Procedures—
Other Events
 The at the top left corner of the code window
is a drop-down list of all objects on the form
 Select the object whose event you want to program
Creating Event Procedures—
Other Events
 The right side of the code window contains a list of all
events supported by form/control selected in the left box
Selected Object (left side)

Supported Events (right side)

 Selecting an event will create the event code


template for that control and event combination
Creating Event Procedures—
Other Events
 There can be a dizzying variety of events
supported for most objects
 Most are for events so obscure that you
would never use them
 Some are incredibly useful and you should
learn these over time
Event Procedures—Multiple
Events
 You will often want the same code to run for
multiple events and/or controls
 Add the control/event combination to the
Handles expression
Private Sub txtTransfer_GotFocus …
Handles txtTransfer.GotFocus, _
txtTransfer.Click, txtTest.GotFocus, txtTest.Click

<Event Code>

End Sub
Event Procedures—Multiple
Events (cont.)
Private Sub txtTransfer_GotFocus(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles txtTransfer.GotFocus, _
txtTransfer.Click, txtTest.GotFocus, txtTest.Click
'***************************************************************
'* Handles the GotFocus and Click events of all text boxes on
'* the form.
'* Automatically selects the contents of the text box so that
'* text can be replaced by typing
'***************************************************************
'* Create a text box object
Dim theTextBox As TextBox
'* Set the object to the control that triggered the event
theTextBox = sender

'* Select the text in the text box


theTextBox.SelectionStart = 0
theTextBox.SelectionLength = theTextBox.Text.Length

End Sub
Properties
 Visual design elements (forms and controls)
have properties that
 Control their behavior
 Determine their appearance
 Interact with the user
 Properties may be set at…
 Design time
 Run time
 In code
 With user interaction
 Both Design & Run Time
Design Time Properties
 Selecting an object in form
design mode gives access to
the object’s properties in the
properties window
 These properties will be the
default properties when a form
is first created
 Changes implemented in code
or by user interaction will persist
as long as the form is open or
until they are changed again
Name Property

 Every object has a Name property that


controls how your object is addressed in code
 If the object is addressed in code you must
rename your object to indicate its:
 Type (use a prefix)
 Purpose of use (rest of the name) --
(e.g.txtTransfer) first-letter Capital
 You need not rename labels that are not
addressed on code
Name Property (cont.)
 Examples:
 lblLastName label
 btnCancel or cmdCancel button
 txtStreetAddress text box
 dtpBirthDate date time picker
 cboStyle combo box
 lstDepartment list box
 chkActive check box
 rdoMaritalStatus radio button
 frmCustomer form
Important Form Properties

 Accept Button—button whose code will execute


if the Enter key is pressed
 Cancel Button—button whose code will execute
if the Escape key is pressed
 Text*—displays in the title bar
 ControlBox*, FormBorderStyle, Maximize* &
Minimize* Buttons
 StartPosition—where form will initially load
 Size—Width & Height of the form

* Removing these will give a form with no title bar


Common Control Properties
 Text—what is displayed in the control
 Left / Top—coordinates in pixels from the upper
left corner of the form for the location of the upper
left corner of the control
 Width / Height—size in pixels of the control
 Enabled—Control is always visible but can be
toggled to active or inactive & dimmed
 Visible—Control is visible or not
 TabIndex—sequence of the control in the form’s
tab order
Key Interaction Control Value
Properties
 Text Box—Text
 Check Box—Checked
 Radio Button—Checked
 Combo Box & List Box—Text, SelectedIndex,
SelectedText
 Date Time Picker—Value
Reading & Setting Properties
in Code
 Properties may be read and set in code by
referring to them on the appropriate side of
an assignment operator (equal sign)
Private Sub cmdTransfer_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdTransfer.Click
'***************************************************************
'* Places the contents of the txtTransfer text box
'* into the lblTransfer label text property
'***************************************************************

lblTransfer.Text = txtTransfer.Text

End Sub
Properties in Code
Private Sub btnCatchMe_MouseMove(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles btnCatchMe.MouseMove
'***************************************************************
'* What is going on here????
'***************************************************************
If Now.Second < 55 Then
If Now.Second < 30 Then
btnCatchMe.Top = 20
Else
btnCatchMe.Top = Me.Height - btnCatchMe.Height - 30
End If
If Now.Second Mod 2 = 1 Then
btnCatchMe.Left = 20
Else
btnCatchMe.Left = Me.Width - btnCatchMe.Width - 20
End If

End If

End Sub
Getting Stupid with Properties

 You can do VERY stupid with appearance


properties
 BackColor
 ForeColor
 Font
 Experiment and get it out of your system
 Then stick with the defaults for your work in
this class
Setting Tab Order
 After the form is complete there is an easy to
set the whole form’s tab order sequence
 Select View | Tab Order from the menu

 Click box by each control in the tab order you want


 If you screw it up start over
 Set individual control Tab Stop properties to False
to exclude from the tab order
Setting Access Keys
 Putting an “&” in the Text property of a control
makes the following letter the hot key for the
control.

 Gives control focus if Alt-Letter is pressed


 Executes button if it is a button’s Access key
 Text boxes have no permanent Text property
 Set the hot key in a label that immediately precedes the
text box in the form’s tab order
 Labels cannot get focus but focus will shift to the text box
The Invoice Total form

Three types of controls


 A label displays text on a form.
 A text box lets the user enter text on a form.
 A button initiates form processing when clicked.
A form after some controls have been added to it
A form after the properties have been set
Event Procedures—Multiple
Events
Private Sub txtTransfer_GotFocus(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles txtTransfer.GotFocus, _
txtTransfer.Click, txtTest.GotFocus, txtTest.Click
'***************************************************************
'* Handles the GotFocus and Click events of all text boxes on
'* the form.
'* Automatically selects the contents of the text box so that
'* text can be replaced by typing
'***************************************************************
'* Create a text box object
Dim theTextBox As TextBox
'* Set the object to the control that triggered the event
theTextBox = sender

'* Select the text in the text box


theTextBox.SelectionStart = 0
theTextBox.SelectionLength = theTextBox.Text.Length

End Sub
The Solution Explorer as a form file is being
renamed
How to rename a file, project, or solution
 Right-click on it in the Solution Explorer window and select the
Rename command from the shortcut menu. Or, select it in the
Solution Explorer and press F2. Then, you can enter the new
name.
 Be sure NOT to change or omit the file extension when you
rename a file.
 Remember too that using a three-letter prefix to indicate the
contents of the file (like frm for a form file) makes it easier to
tell what each file represents.
 When you change the name of a form file, Visual Studio will
also change the Name property for the form and update any
references within the existing code for the form.
How to save a file, project, or solution
 You can use the Save All button in the Standard toolbar or the
Save All command in the File menu to save all files and projects
in the solution.
 You can use the Save button in the Standard toolbar or the Save
command in the File menu to save a file, project, or solution. The
files that are saved depend on what’s selected in the Solution
Explorer window.
 If a single file is selected, just that file is saved.
 If a project is selected, the entire project and its solution are
saved.
 If a solution is selected, the entire solution and all its projects
are saved.
 If you try to close a solution that contains modified files, a dialog
box is displayed that asks you if you want to save those files.

You might also like