Originariamente inviato da jabjoint
Ciao, ho creato un controllo dinamicamente cosi':

codice:
friend WithEvents tBmaggiore As System.Windows.Forms.TextBox

 Private Sub tBmaggiore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tBmaggiore.Click

Msgbox "premuto"

 End Sub

sub crea()
        Dim tbmaggiore As New Control()
        tbmaggiore = New TextBox()
        tbmaggiore.Text = "100"
        tbmaggiore.Location = New Point(10, 10)
        Me.Controls.Add(tbmaggiore)
        AddHandler tbmaggiore.Click, AddressOf tBmaggiore_Click
        controlloCreato=true
end sub

sub leggi()
       if controlloCreato=true then
         msgbox tbmaggiore.text
       end if
end sub
Quando chiamo la procedura leggi dopo avere creato il controllo ottengo un errore che mi dice:
Riferimento a un oggetto non impostato su un'istanza di oggetto.

Teoricamente l' ho creato l' oggetto, dove sbaglio?

Hai un po le idee confuse su come si aggiunge un controllo dinamicamente.
Prima di tutto su dichiari gli eventi con AddHandler è inutile dichiarare la textBox con WithEvents,come inutile è la variabile controlloCreato.

Il tuo codice diventa:

codice:
 Dim tBmaggiore As TextBox

    Private Sub tBmaggiore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        MsgBox("premuto")
    End Sub

    Sub crea()
        tBmaggiore = New TextBox()
        tbmaggiore.Text = "100"
        tbmaggiore.Location = New Point(10, 10)
        Me.Controls.Add(tbmaggiore)
        AddHandler tbmaggiore.Click, AddressOf tBmaggiore_Click
    End Sub

    Sub leggi()
        If tBmaggiore IsNot Nothing Then MsgBox(tBmaggiore.Text)
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        crea()
    End Sub

 :ciauz: