Originariamente inviato da jabjoint
Ciao, ho creato un controllo dinamicamente cosi':
Quando chiamo la procedura leggi dopo avere creato il controllo ottengo un errore che mi dice: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
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:

Rispondi quotando