Newsgroup: it.comp.lang.visual-basic
Titolo: nomi form variabili

Ciao a tutti,
rieccomi con una domandina:
Come faccio a richiamare dei form con il nome impostato in una variabile ?
esempio: 
voglio caricare il form di nome PIPPO
normalmente faccio PIPPO.show
se invece imposto una variabile string con il valore PIPPO, poi come faccio ?
nomeform (as string) = "PIPPO"
nomeform.show da errore !
PS: Avevo già visto una domanda simile qui nel forum ma non riesco piu' a
trovarla... sigh !
Grazie e ciao a tutti.
-- 
Posted from  [212.80.178.35] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

il problema è che se dichiari una variabile come string sia che la chiami
NomeForm che se la chiami ContenutoStringa questa è sempre una stringa, quindi
non ha ne metodi ne le proprietà di un form.
allora devi dichiarare una variabile di tipo form cioè
dim Form1 as Form
 per inizializzare la variabile form userai
set Form1 =NomeDelForm
NomeDelForm potrebbe essere anche una stringa
ciao Valerio

 ha scritto nel messaggio
news:3BE9781F...@hotmail.com...

come fa ad essere una stringa?! non si può settare una variabile oggetto
ad una stringa... è un controsenso!
il problema è che se il form non è caricato, con la stringa ci fa poco;
se è già stato caricato, invece, è possibile fare
Forms(strNomeForm).Show
Faber

> si hai ragione ho detto una cavolata!


 Forms(strNomeForm).Show
Ti piacerebbe he? :)
Forms(Indice) : Indice è solo numerico
Ciao

 ha scritto nel messaggio
news:3bea4093$1...@news.cis.it...

...effettivamente non mi sarebbe dispiaciuto  :)
Faber

Cioč, alla fine non ho capito niente... :-(



veramente? ma hai provato a fare quello che ti dicevo io nel primo
messaggio?
(dimentica  'NomeDelForm potrebbe essere anche una stringa' )

 Cioč, alla fine non ho capito niente... :-(
in poche parole, non si puň fare  :\
Faber

 (dimentica  'NomeDelForm potrebbe essere anche una stringa' )
Si, ho ptovato, ma mi dice sempre "Tipo non corrispondente"... :-(


allora: non scherziamo con le cose serie.
apri vb
crea un bottone chiamato command1 (default)
crea un textbox chiamato text1 (default)
vai nel codice e incolla quanto segue:
'inizio codice da incollare---------------------------
Option Explicit
Dim IlForm As Form
Private Sub Command1_Click()
 Set IlForm = Form1 'pone la variabile IlForm  uguale ad un vero form
 IlForm.Caption = Text1 'modifica il form tramite la variabile
End Sub
Private Sub Form_Load()
 Text1 = "prova"
End Sub
'fine codice da incollare----------------------------
'poi esegui e prova a cambiare il testo bel textbox e poi premere il
bottone
'buon divertimento

 End Sub
Si, questo funziona, mi cambia il titolo del form... ma a me serve un'altra
cosa...
rifacendomi al tuo esempio, il mio problema è che Form1 io ce l'ho scritto in
una variabile
(che potrebbe essere anche Form2), e l'istruzione
Set IlForm = variabile contenente il nome del form
mi da errore "Tipo non corrispondente" :-)
-- 
Posted from 
ppp-62-10-91-180.dialup.tiscali.it
 [62.10.91.180] 



perchè non fai un array di form e uno di stringhe e passi dalla stringa ad un
indice e dall'indice al form corrispondente?
potrebbe eseere un'idea

 potrebbe eseere un'idea
L'esperienza insegna....
Buona idea, non ci avevo pensato...
ora ci provo :-)
-- 
Posted from 
ppp-62-10-87-182.dialup.tiscali.it
 [62.10.87.182] 
