Lecture Set 08C

advertisement
Lecture Set 8
Validating Data and Handling Exceptions
Part C – Exception Handling with Other
VB Tools
Objectives

To understand how to us some additional VB
tools in handling exceptions



Masked textboxes
Check boxes
Scrolling tools later to be used with List Boxes
and Combo Boxes
8/13/2013 11:40 AM
Using Masked textboxes


Similar to what you can do with a typical
database tool
Forces user entries to comply with a specific
format


User can’t leave the control until a valid entry
has been made (valid in terms of the mask)
Masks are best used with things like dates,
phone numbers, zip codes and the like
8/13/2013 11:40 AM
Two Useful Properties of Mask Boxes

The Mask Property –



You set the mask you want to force the format
for a given text box
This then becomes a type validation mechanism
that you do not have to code
The ValidatingType Property –


The code generated for this control allows you
to set this property to a data type such as Date
or Decimal to even further restrict what the user
is allowed to enter
But YOU have to set the property by writing
code to do so
8/13/2013 11:40 AM
You may STILL need to do more work …

You can do this by coding the
TypeValidationComplete
Handler for the control -- -- -- 
8/13/2013 11:40 AM
The Invoice Total form with two masked text boxes
8/13/2013 11:40 AM
Typical masks used in the Mask property of a
masked text box
Mask property
Mask when run Example
Entry
requirements
One letter
L
_
C
####.##
____.__
0450.50
Six digits with two
decimal places
00/00/0000
__/__/____
06/08/2007
Six digits in date
format
(999) 000-0000
(___) ___-____
555-432-3291
Ten digits in phone
number format
8/13/2013 11:40 AM
Code that sets the ValidatingType property for a
masked text box (optional)
mskSubtotal.ValidatingType = GetType(System.Decimal);
Note
 If you set the ValidatingType property for the control, the entry is
tested to see whether it’s valid for that type. Then, you can use the
TypeValidationCompleted event for further testing.
8/13/2013 11:40 AM
An event handler for the control’s
TypeValidationCompleted event (VB) (optional)
Private Sub mskSubtotal_TypeValidationCompleted( _
ByVal sender As System.Object, _
ByVal e As _
System.Windows.Forms.TypeValidationEventArgs) _
Handles mskSubtotal.TypeValidationCompleted
If e.IsValidInput Then
If CDec(mskSubtotal.Text) <= 0 Then
MessageBox.Show( _
"Please enter a subtotal " _
& "that's greater than zero.", _
"Entry Error")
e.Cancel = True
End If
Else
e.Cancel = True
End If
End Sub
8/13/2013 11:40 AM
Two problems with using event handlers for
Validating events (optional)
 Validating event handlers are only triggered if the user moves the
focus to the control.
 There isn’t any way for the user to cancel an entry once the entry
is started.
Murach’s Visual Basic
C7
8/13/2013 2005,
11:40 AM
Are Textboxes a Pain in the Rear?



Validating input is painful in general, and it is
even more so when you give the user free
reign with regard to data entry (as we do
when we use textboxes)
So what do we do?
Start thinking about other controls which the
user can use to avoid typing entries
8/13/2013 11:40 AM
Controls that Rely on Decision-Making

Three controls are commonly used with
decision-making


The CheckBox control allows the end user to
select one of two possible values
The HScrollBar control and VScrollBar
controls allow the user to select a value from a
range of values
8/13/2013 11:40 AM
The CheckBox Control






The CheckBox control allows the end user to select
from two possible values
The CheckAlign property defines where the check
box appears
The Boolean Checked property indicates whether
the box is checked
The Text property contains the visible text
The TextAlign property controls the alignment of
the text
The CheckedChanged event fires when the value of
the Checked property changes
8/13/2013 11:40 AM
The CheckBox Control (Example)

Determine whether the CheckBox named
chkDemo is checked
if (chkDemo.Checked == true)
txtState.Text = "Checked“;
else
txtState.Text = "Not checked“;
8/13/2013 11:40 AM
The HScrollBar and VScrollBar
Controls (Introduction)


Use to select a value from a range of values
The two scroll bars work the same way


The HScrollBar has a horizontal orientation
The VScrollBar has a vertical orientation
8/13/2013 11:40 AM
The HScrollBar and VScrollBar
Controls (Syntax)





The Minimum and Maximum properties
define the range of values
The current value is stored in the Value
property
The SmallChange and LargeChange
properties define the magnitude of change
The Scroll event fires while scrolling
The ValueChanged event fires when
scrolling is complete and the value changes
8/13/2013 11:40 AM
Changing the Value Property of a Vertical
Scroll Bar
8/13/2013 11:40 AM
The Maximum and Minimum Properties of a
Vertical Scroll Bar
8/13/2013 11:40 AM
Scroll Event (Example)

Display scroll bar values
private void vsbDemo_Scroll( _
object sender, _
System.Windows.Forms.ScrollEventArgs e)
{
txtValue.Text = vsbDemo.Value.ToString;
txtOldValue.Text = e.OldValue.ToString;
txtNewValue.Text = e.NewValue.ToString;
} // end vsbDemo
8/13/2013 11:40 AM
Download