salve gente, non riesco a venire a capo da una situazione!

ho avuto necessità di crearmi l'utilità di "ToolTipText" (a modo mio ) per alcuni controlli del form che non la supportano, tipo TextBox , CheckBox e altri che utilizzo nel mio progetto..(esattamente come funziona di default il ToolTipText degli oggetti che lo supportano).Tutto funzionava a dovere, fino a quando ho deciso di eliminare codice ripetitivo ed automatizzare il tutto in un unica sub pubblica (nel modulo) chiamata ovunque in qualsiasi form del progetto.

questa è la sub pubblica nel modulo:
codice:
    Sub AddHandlers_TipTextEvent(ByVal Oggetto As System.Object, ByVal Mess As String)

        'creo la label e la personalizzo simile al ToolTipText di default
        Dim TipText As New Label With {.Name = "TipText_" & Oggetto.name, .AutoSize = True, .BackColor = Color.WhiteSmoke,
            .BorderStyle = BorderStyle.FixedSingle, .Enabled = False, .FlatStyle = FlatStyle.Popup, .Visible = False, .Text = Mess}

        'aggiungo la label al form cui appartiene l'oggetto/controllo
        Oggetto.findform.Controls.Add(TipText)

        'aggiungo  i tre eventi dell'oggetto/controllo cui associare la funzionalità di ToolTipText
        AddHandler DirectCast(Oggetto, CheckBox).MouseHover, AddressOf TipText_MouseHover ' show
        AddHandler DirectCast(Oggetto, CheckBox).MouseLeave, AddressOf TipText_MouseLeave ' Hide
        AddHandler DirectCast(Oggetto, CheckBox).MouseMove, AddressOf TipText_MouseMove ' Posiziona

    End Sub
poi ci sarebbero le tre sub che vengono associate agli eventi di cui sopra, anch'esse riesiedono nel medesimo Modulo.. ma qua non mi addentro perchè non ho problemi!

funziona cosi , quando creo un oggetto nel FORM

codice:
..............
   'Creo l'oggetto checkbox e ne assegno le proprietà
   Dim CheckBox1 As New CheckBox With {.Name = "CheckBoxRileva", .Text = "Includi/Seleziona occorrenze di ""Voci"" uguali..",
           .Visible = False, .AutoSize = True, .BackColor = Color.Coral}

   ' aggiungo l'oggetto al form
   Me.Controls.Add(CheckBox1) : CheckBox1.BringToFront()

   ' questa è la chiamata alla famosa sub pubblica 
   ' che aggiunge all'oggetto appena creato, la funzionalità di ToolTipText
   AddHandlers_TipTextEvent(CheckBox1, "Visualizza il costo complessivo degli elementi selezionati nella colonna ""Voce""")

.............
dovrebbe funzionare per tutti i tipi di controlli, ma nella famosa sub non riesco a fare il directcast automatico al tipo oggetto passatoli. Per il momento sono fermo e costretto a scrivere manualmente su ChecBox... come potrei fare

qui????
codice:
        'aggiungo  i tre eventi dell'oggetto/controllo cui associare la funzionalità di ToolTipText
        AddHandler DirectCast(Oggetto, CheckBox).MouseHover, AddressOf TipText_MouseHover ' show
        AddHandler DirectCast(Oggetto, CheckBox).MouseLeave, AddressOf TipText_MouseLeave ' Hide
        AddHandler DirectCast(Oggetto, CheckBox).MouseMove, AddressOf TipText_MouseMove ' Posiziona


grazie per l'aiuto