Talvolta può essere utile stabilire se il controllo è in esecuzione nel designer di Visual Studio oppure nel browser magari per inibire l'inutile esecuzione di parti di codice (ad esempio l'uso di sessioni o viewstate). E' sufficiente aggiungere una proprietà, ad esempio DesignMode, come questa:

protected bool DesignMode
{
      
get
      
{
            ISite site1 = 
this.Site;
            
if (site1 != null)
            {
                  
return site1.DesignMode;
            }
            
return false;
      }
}

La proprietà Site costituisce il connettore per l'iterazione tra il controllo ed il suo contenitore. In questo caso utilizziamo la proprietà DesignMode dell'interfaccia ISite per verificare, appunto, se il controllo (o il componente) si trova in modalità progettazione.

powered by IMHO 1.3