[Vb.net] Lista controlli completa di quelli personalizzati

di il
1 risposte

[Vb.net] Lista controlli completa di quelli personalizzati

Ho creato un oggetto personalizzato e volevo creare una lista di tutti i controlli del form dato che ciclare il tutto con for each... in me.control... non mi è possibile perchè ci sono group box e altri contenitori. Ho creato la classe che credo corretta:

Public Class AllControls

Inherits Control

Public Sub New(ByVal control As Control)
Popola(control)
End Sub

Private Sub Popola(ByVal ctrl As Control)
Me.Controls.Add(ctrl)
Dim ctrlChild As Control
For Each ctrlChild In ctrl.Controls
Popola(ctrlChild)
Next
End Sub

End Class

richiamando il tutto con for each però mi ha generato questo errore...

Impossibile eseguire il cast di oggetti di tipo 'Tariffe_eBay.sez03negozio' sul tipo 'Tariffe_eBay.TextBoxMoney'.

come risolverlo? o ancora meglio come posso prendere in riferimento un controllo del form senza ciclare per tutti i controlli? scrivendo me.control(nomecontrollo) mi restituiscie sempre un valore vuoto... grazie mille

1 Risposte

  • Re: [Vb.net] Lista controlli completa di quelli personalizzati

    Ecco come ho risolto, thanks uguale:

    Public Class sez03negozio
    Dim AllTextBoxMoney As New ArrayList

    Public Sub New()

    ' Chiamata richiesta da Progettazione Windows Form.
    InitializeComponent()

    ' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
    AllControlsTextBoxMoney(Me)

    End Sub

    Private Sub AllControlsTextBoxMoney(ByVal ctrl As Control)
    If TypeOf ctrl Is TextBoxMoney Then
    AllTextBoxMoney.Add(ctrl)
    End If
    Dim ctrlChild As Control
    For Each ctrlChild In ctrl.Controls
    AllControlsTextBoxMoney(ctrlChild)
    Next
    End Sub
Devi accedere o registrarti per scrivere nel forum
1 risposte