Imports System.Collections.ObjectModel
Imports System.ComponentModel

Class ColCTelefonos
  Inherits ObservableCollection(Of CTelefonoBO)
  ' Eventos ItemBeginEdit e ItemEndEdit de la colección
  Public Event ItemBeginEdit As ItemEditEventHandler
  Public Event ItemEndEdit As ItemEditEventHandler

  Protected Overrides Sub InsertItem(ind As Integer, item As CTelefonoBO)
    ' Insertar un elemento en la posición especificada
    MyBase.InsertItem(ind, item)
    ' Asignar un controlador para los eventos ItemBeginEdit e
    ' ItemEndEdit de cada item CTelefonoBO de la colección
    AddHandler item.ItemBeginEdit, AddressOf ControladorItemBeginEdit
    AddHandler item.ItemEndEdit, AddressOf ControladorItemEndEdit
  End Sub

  Private Sub ControladorItemBeginEdit(sender As IEditableObject)
    ' Generar el evento ItemBeginEdit de la colección por cada
    ' evento ItemBeginEdit generado por un item CTelefonoBO 
    RaiseEvent ItemBeginEdit(sender)
  End Sub

  Private Sub ControladorItemEndEdit(sender As IEditableObject)
    ' Generar el evento ItemEndEdit de la colección por cada
    ' evento ItemEndEdit generado por un item CTelefonoBO 
    RaiseEvent ItemEndEdit(sender)
  End Sub
End Class
