Title: ISM 3253 Topics 2: Form, Control, Event
1ISM 3253 Topics 2 Form, Control, Event
- Program Elements
- Assignment Operations
- Events Event Procedures
- Properties
- Tab Order and Access Keys
2Review 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 (and generally incomprehensible to all
but the most sophisticated developers)
3Review Visual Studio Programming (cont.)
- Most 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 - Many other tasks
4Projects
- Projects may consist of many parts
- Solutionmultiple programsdeveloped together
- We will not use this
- Projectone program
- All elementsare optional
- but it musthave at least one
5ProjectsForms
- 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
6Assignment Operations (Our First Code)
- A common code involves assigning a value to a
container - Both Container and Value can be
- Property
- Variable
- Object
- In this use the equal sign is the assignment
operator
Container Value
7Assignment Operations (cont.)
- Examples
- intQuantity 123places the value 123 into the
variable intQuantity - stLastName Jonesplaces the value Jones
into the variable stLastName - lblLastName.Text stLastNameplaces the contents
of the variable stLastName (whatever they are)
into the Text property of the label control
lblLastName
8Events
- 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
9Events (cont.)
- Our first eventThe Click Event for a button
cmdTransfer
txtTransfer
lblTransfer
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
10Events (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
11Creating Event ProceduresDefault 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
12Creating Event ProceduresOther 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
13Creating Event ProceduresOther Events
- The right side of the code window contains a list
of all events supported by form/control selected
in the left box - Selecting an event will create the event code
template for that control and event combination
Selected Object (left side)
Supported Events (right side)
14Creating Event ProceduresOther 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
15Event ProceduresMultiple 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 ltEvent
Codegt End Sub
16Event ProceduresMultiple 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.Lengt
h End Sub
17Properties
- 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
18Design Time Properties
- Selecting an object in formdesign mode gives
access to the objects properties in
theproperties window - These properties will be thedefault properties
when a formis first created - Changes implemented in code or by user
interaction will persistas long as the form is
open oruntil they are changed again
19Name 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)
- You need not rename labels that are not addressed
on code
20Name Property (cont.)
- Examples
- lblLastName label
- btnCancel button
- txtStreetAddress text box
- dtpBirthDate date time picker
- cboStyle combo box
- lstDepartment list box
- chkActive check box
- rdoMaritalStatus radio button
- CustomerForm form
21Important Form Properties
- Accept Buttonbutton whose code will execute if
the Enter key is pressed - Cancel Buttonbutton whose code will execute if
the Escape key is pressed - Textdisplays in the title bar
- ControlBox, FormBorderStyle, Maximize
Minimize Buttons - StartPositionwhere form will initially load
- SizeWidth Height of the form
Removing these will give a form with no title
bar
22Common Control Properties
- Textwhat is displayed in the control
- Left / Topcoordinates in pixels from the upper
left corner of the form for the location of the
upper left corner of the control - Width / Heightsize in pixels of the control
- EnabledControl is always visible but can be
toggled to active or inactive dimmed - VisibleControl is visible or not
- TabIndexsequence of the control in the forms
tab order
23Key Interaction Control Value Properties
- Text BoxText
- Check BoxChecked
- Radio ButtonChecked
- Combo Box List BoxText, SelectedIndex,
SelectedValue, SelectedText - Date Time PickerValue
24Reading 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
25Properties 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 lt 55 Then
If Now.Second lt 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
26Getting 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
27Setting Tab Order
- After the form is complete there is an easy to
set the whole forms 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
28Setting 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 buttons Access key
- Text boxes have no permanent Text property
- Set the hot key in a label that immediately
precedes the text box in the forms tab order - Labels cannot get focus but focus will shift to
the text box