Defines a private procedure or event handler.
[ @Shared ] Sub procedure_name [ type_list ] [ parameter_list ] [ Handles event_name ] [ Where generic_constraints ] [ statements ] End [ Sub ]
- Optional modifier specifies that the procedure is a member of its container, and not an instance of that container.
- Mandatory name for the procedure.
- Optional one or more names with a comma between each, all between brackets (
[ ]). See Type List for more information.
- Optional one or more declarators with a comma between each, optionally between parentheses. See Parameter List for more information.
- Optional keyword to make an event handler. See the Handles keyword section for more information.
- Optional. See Where Clause (Generics) for more information.
- Optional one or more executable statements.
- Completes the statement.
You can also use
- You can change this part of the syntax. See @Option Directive for more information.
End Sub is not the same as
Sub is short for “subroutine”.
Handles does two things for the construct
First, it changes the procedure so it becomes an event handler.
Secondly, it injects the parameters defined by a statement
Event into the procedure where they become available, as if they were defined locally.