CheckedChanged con addhandler

martedì 23 giugno 2009 - 11.43

mcounts Profilo | Newbie

Ciao a tutti

ho una serie di checkbox in un group control , voglio rendere dinamico l'evento checkedchanged e ho fatto così:

For Each Control As Control In GroupBox3.Controls If TypeOf Control Is CheckBox Then AddHandler Control.CheckedChanged, AddressOf control_CheckedChanged End If Next

però il codice mi ritorna l'errore:

Errore 17 'CheckedChanged' non è un evento di 'System.Windows.Forms.Control'.

Why???

Grazie in anticipo

Jeremy Profilo | Guru

Ciao Marco.
Come al solito ..... ha ragione il compilatore.

CheckedChanged non è un evento che fa parte della classe Control ma, della classe CheckBox.
Quindi, il tuo codice, va corretto in questo modo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Facci sapere...
Ciao

mcounts Profilo | Newbie

corretto come sempre.....

immaginavo che era necessario usare il directcast... ma non sapevo come usarlo, mi puoi dare una spiegazione teorica rapida

grazie

ciao

Jeremy Profilo | Guru

DirectCast, è un operatore di conversione come lo è TryCast e Ctype.
La differenza di DirectCast, rispetto agli altri, è che permette di tipizzare *al volo* l'oggetto, permettendone,quindi, l'utilizzo di metodi,funzioni e proprietà.
Inutile dire che la conversione deve essere eseguita tra tipi che, in qualche modo, abbiano una relazione di ereditarietà od implemetazione.
Pertanto, potrai convertire un oggetto di tipo CheckBox in Control e Control in CheckBox, in quanto CheckBox eredita da control ..... ma non potrai convertire, per esempio, un oggetto TextBox in CheckBox(ovviamente).

Spero di essere stato sufficientemente chiaro, ad ogni modo, cerca in MSDN "DirectCast" e dovresti trovare informazioni più dettagliate.
Ciao.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5