205 messaggi dal 22 giugno 2007
ciao a tutti, ho scritto questo codice per cercare di pulire più textbox contemporaneamente:

private void pulisci(Control c)
{
TextBox t=ctl as TextBox;
if(t.text !="")
t.text="";
}

bene, nel momento in cui chiamo pulisci(this) mi dà errore sull'if e dice:
riferimento a un oggetto non impostato su un'istanza di oggetto

mentre se scrivo

private void pulisci(Control c)
{
TextBox t=ctl as TextBox;
if(t != null)
t.text="";
}

non reagisce, non fà nulla.... dove sbaglio?
J ha scritto:
private void pulisci(Control c)
{
TextBox t = ctl as TextBox;
if(t != null)
t.text="";
}


Da dove arriva esattamente quel ctl?
(il metodo corretto, comunque, è il secondo che hai riportato)

Nicola Baldi
"Make things as simple as possible, but not simpler."
>>> My blog <<<
29 messaggi dal 20 maggio 2007
ma ctl è per caso la textbox proveniente dalla pagina web?!
141 messaggi dal 21 febbraio 2002
www.melisweb.eu
Ipotizzando che ctl e c siano la stessa cosa....
Per prima cosa devi controllare se il controllo ctl è una TextBox: if(ctl is TextBox)

E poi forse la dovresti fare ricorsiva.
Nel senso che devi scorrere i controlli che, ad esempio, sono dei panel hanno all'interno TexBox, Label etc...etc...

]aMelix[
-------------------------------
http://www.melisweb.eu/
http://www.puntodidomanda.com/
http://www.cucinamore.com/
-------------------------------
205 messaggi dal 22 giugno 2007
innanzitutto grazie a tutti per la collaborazione
sì, in effetti ctl è il nome dell'oggetto Control, e non c.. è stato un errore di battitura, scusate
ctl è un oggetto generico di tipo control, e in base al fatto se è textbox o meno faccio eseguire un certo codice

in effetti ho usato anche la ricorsione per lavorare su più oggetti

private void pulisci(Control ctl) //stavolta ho battuto correttamente
{
TextBox t=ctl as TextBox; //impongo io essere txtbox a priori
if(t != null)
t.text=String.Empty; //c'era il codice apposito...

else if(ctl.Controls.Count > 0)

for (int i = 0; i < ctl.Controls.Count; i++)
{
pulisci(ctl.Controls[i]); // ricorsione
}
}

cmq così funziona...

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.