in
La comunità italiana dedicata a Sviluppatori e Architetti IT delle piattaforme Windows

[Vb.net] Lista controlli completa di quelli personalizzati

Ultimo messaggio ricevuto il 02-10-2007 14.47 da seven.7. 1 risposta(e).
Pagina 1 di 1 (2 elemento/i)
Ordina messaggi: Precedente Successivo
  • 02-10-2007 12.35

    [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
    • Log
  • 02-10-2007 14.47 In risposta a

    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
    • Log
Pagina 1 di 1 (2 elemento/i)
Prelevato da http://www.devspy.com/forums/t/4609.aspx
DevSpy.com 6.0 © 2001-2008 - Alcuni Diritti Riservati
Salvo diversa indicazione, tutti i contenuti sono pubblicati sotto licenza "Creative Commons Attribution-Share Alike 3.0"