25 messaggi dal 21 giugno 2001
Come posso fare per assegnare u evento ad un tasto generato dinamicamente in Vb.net

Dim BtnElimina As Button
BtnElimina = New Button
BtnElimina.Text = "Elimina"
myCell = New TableCell
myCell.Controls.Add(BtnElimina)
myRow.Cells.Add(myCell)
Questa è la porzione di codice che genera il tasto e lo mette dentro ad un tablecell.

Io vorrei che al click di quel tasto fosse eseguito u evento, come posso fare?

Grazie
devi utilizzare AddHandler, in questo modo:
AddHandler BtnElimina.Click, AddressOf BtnElimina_Click.

In BtnElimina_Click ci metti la Sub che intercetta il click.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
25 messaggi dal 21 giugno 2001
Questo è il codice che uso attualmente, non da errori, ma non funziona, non riesco a capire come mai...

'Nella sub Inizialize componenent

Protected WithEvents BtnElimina As System.Web.UI.WebControls.Button

'creo il bottone nel page_load

BtnElimina = New Button
BtnElimina.Text = "Elimina"
AddHandler BtnElimina.Click, AddressOf BtnElimina_Click

'Il gestore d'eventi

Private Sub BtnElimina_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnElimina.Click
Elimina()
End Sub


Grazie ancora
O usi la clausola WithEvents e aggiungi alla sub Handles oggetto.evento
o usi il metodo AddHandler

Ciao

Il mio blog
Homepage
non usare withevents e addhandler:

Protected BtnElimina As System.Web.UI.WebControls.Button

'creo il bottone nel page_load

BtnElimina = New Button
BtnElimina.Text = "Elimina"
AddHandler BtnElimina.Click, AddressOf BtnElimina_Click

'Il gestore d'eventi

Private Sub BtnElimina_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Elimina()
End Sub

altrimenti non usare AddHandler e poi il codice lascialo com'è. una delle due insomma

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
25 messaggi dal 21 giugno 2001
Ci sono riuscito, però ho un problema,

ho visto che tu crei il tasto nel pageload, e purtroppo non è il mio caso.

Io dovrei generare una tabella al click di un tasto.
Nella mia pagina c'è un form per l'inserimento del record, con un tasto inserisci, al click del tasto, dovrei generare la tabella con tutti i record inseriti, e per ogni record c'è un tasto elimina.

Ho una Sub che genera una table, che al suo interno contiene i tasti.
Questa sub devo richiamarla al click del tasto inserisci.
Riporto una versione semplificata del codice:

Private sub CreaTabella()
...
For i = 0 To collFoto.Count - 1
...
td = New TableCell()
Btn = New Button()
Btn.ID = i
Btn.Text = "Elimina"
AddHandler Btn.Click, AddressOf ButtonIsClicked
td.Controls.Add(Btn)
tr.Cells.Add(td)
...
Next
...
end sub

Il problema è che l'evento non viene associato al tasto. Aiutatemi...

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.