Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [c#] cercare oggetti in una form

    ciao!
    io in una form ho una serie di oggetti...
    vorrei ciclare per trovare eventuali oggetti di un determinato tipo..
    se faccio così:
    codice:
    foreach (object _pars in this.Controls)
    {
        if (_pars.GetType() == typeof(myType))
        {
            doSomething((myType)_pars);
        }
    }
    mi trova solo gli oggetti presenti direttamente nella form...
    se ad esempio ho un pannello e all'interno degli oggetti, dovrei fare il foreach per il pannello e non x la form

    non esiste qualcosa che mi permette di cercare tutti gli oggetti di tipo myType presenti, a prescindere dove son fisicamente ubicati??

    tnx!
    ...l'importante è non cadere dal palco...
    www.sisimizi.com

    : ghiboz : | ° nani ° | : gBlog :

  2. #2
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    che io sappia non c'è un metodo ricorsivo che ti permette di ciclare anche tra gli oggetti interni

    prova questa

    private Control FindControlRecursive(Control root, object obj)
    {
    if (root.GetType() == typeof(CheckBox))
    {
    return root;
    }

    foreach (Control c in root.Controls)
    {
    Control t = FindControlRecursive(c, obj);
    if (t != null)
    {
    return t;
    }
    }

    return null;
    }

    poi la richiami così

    myCnt = FindControlRecursive(cnt, cbk);
    if (myCnt != null)
    {....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.