Title: VB Procedures
1VB Procedures
2Procedures
- . Sub procedure
- Private/Public Sub SubName(Arguments)
-
- End Sub
- Private Can only be accessed by procedures in
the same form. - Public Can be accessed by procedures in other
forms. - To call a sub procedure SUB1
- Call SUB1(Argument1, Argument2, )
3Function
- Private Function tax(salary) As Double
- tax salary 0.1
- End Function
- Or
- Private Function tax(salary)
- Return salary 0.1
- End Function
4Creating a IsAlphaNumeric(string) Function
- IsNumeric test a string
- IsDigit, IsLetter, IsLetterOrDigit test a char
- Char.IsLetterOrDigit(char)
5Function IsAlphaNumeric(ByVal aString As String)
As Boolean Dim i As Integer 0
Dim AlphaNumeric As Boolean True For i
0 To aString.Length - 1 If Not
Char.IsLetterOrDigit(aString.Substring(i, 1))
Then AlphaNumeric False
Exit For End If Next
If AlphaNumeric True Then
IsAlphaNumeric True Else
IsAlphaNumeric False End If End
Function Private Sub Button1_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
If IsAlphaNumeric(TextBox1.Text) Then
MessageBox.Show("textbox1 is alphanumeric")
Else MessageBox.Show("textbox1 is
not alphanumeric") End If End Sub
6Call by Reference Call by Value
- ByRef
- The address of the item is passed. Any changes
made to the passing variable are made to the
variable itself. - ByVal
- Default
- Only the variables value is passed.
7ByRef, ByVal example
Private Sub Command1_Click() Dim myStr As
String myStr TextBox1.Text Call ChangeTextRef
(myStr) TextBox1.Text myStr End Sub Private Sub
ChangeTextRef(ByRef strInput As String)
strInput "New Text" End Sub
8Input, Output Arguments
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles Button1.Click Dim sal, tax As
Single sal CSng(TextBox1.Text)
Call CalTax(sal, tax) TextBox2.Text
tax.ToString End Sub Private Sub
CalTax(ByVal Salary As Single, ByRef Tax As
Single) Tax 0.1 Salary End
Sub Can we pass the Tax ByVal?
9Static Variables
- Static VariableName as DataType
- Static variables are local variables but are not
destroyed when a procedure terminates. Their
value are kept.
10Static Variable Example
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles Button1.Click Static clickCounter
As Integer 0 clickCounter 1
If clickCounter gt 3 Then
MsgBox("Sorry, you can only click 3 times!")
Button1.Enabled False End If
End Sub
11Event Procedures
- Example
- Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles Button1.Click - The Handles keyword
- Procedure name may change
- Handling multiple events
- Private Sub AllButtons_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles Button1.Click, Button2.CLick
12Using One Event Handler to Handle Events
Generated by Many Controls
- Assume we have 3 buttons.
- Use the Handles clause in the event procedure to
associate controls with the event procedure. - We can assign a value for each controls Tag
property, or use controls TabIndex property to
determine which control generates the event.
13Private Sub Button_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles Button1.Click, Button2.Click,
Button3.Click If sender.tag "1" Then
MessageBox.Show("button 1 clicked")
ElseIf sender.tag "2" Then
MessageBox.Show("button 2 clicked") Else
MessageBox.Show("button 3 clicked")
End If End Sub Note VB IntelliSense
will not show the Tag property after you type
sender.
14Early Binding/Late Binding
- Early binding VB compiler knows the objects
data type. It enables the use of IntelliSense. - Late binding VB compiler cant determine the
type of object that we are calling. This occurs
because the object is declared as Object data
type.
15Demo Phone Simulator
16Menu
17Main Menu Control
- Add MainMenu control and follow the TypeHere
instruction. - Each submenu and each item on a submenu is
represented by a MenuItem control. - Use an to specify an access key in the caption.
Ex. File, Shos - Write an event procedure for each menu item.
18- Shortcut keys
- Select the Shortcut key property in the
MenuItems property window. - Select the Shorcut key from list.
- Set ShowShortcut property to true.
- Separator bar
- Right clock a menu item/Insert Separator
- Inserting, deleting a menu item
- Right click and select the option.
- Rearranging menu items
- dragging
19Context Menu
- A context menu is a menu that displays when an
object on the screen is right-clicked. - Add the ContextMenu control (it is placed in a
tray under the form). Right-click the control
and choose Edit to create the menu. - Use the objects ContextMenu property to bind the
object to the context menu.
20Simple Text Editor
- Textboxs properties, methods
- Help
- Object Browser
- System.Windows.Forms
- Cut, Copy, Paste, Undo, SelectAll, etc.
- Menu Undo, Copy, Cut, Paste, SelectAll, Search
- Clipboard
- Clipboard.SetDataObject(TextBox1.SelectedText)
- Clipboard.GetDataObject.GetData(DataFormats.Text)
21FontDialog Control
- If FontDialog1.ShowDialog() DialogResult.OK
Then - TextBox1.Font FontDialog1.Font
- End If