Istanziare oggetti del form

mercoledì 19 luglio 2006 - 12.39

Alfredo Profilo | Newbie

Ciao. E' da poco che utilizzo il vb net. Come faccio per creare un'istanza di una textbox e di un bottone che ho inserito su un form?
Ho provato ad istanziare come faccio per le form, ma con le textbox e i button non funziona.
Per i form utilizzo:
dim f2 as new frmPrincipale
f2.show

mentre le textbox ho provato:
dim t2 as new textbox1

dove textbox1 è il nome della textbox sul form, ma non va.
Come devo fare?
Ciao

totti240282 Profilo | Guru

devi aggiungere la textbox creata alla lista dei controlli del form.
C'è solo un capitano !!!!!!

Alfredo Profilo | Newbie

Ciao. Ho provato ad inserire nell'evento click di un bottone le seguenti righe:

' Aggiungo la textbox di nome textbox1 alla lista dei controlli della form
Me.Controls.Add(TextBox1)
' Creo l'istanza
Dim t As New textBox1

e alla riga dove creo l'istanza non compare nella lista dell''intellisense la voce "textbox1".
Cmq guardando il designer della form, la textbox1 era già stata aggiunta in automatico dal VB.
Cos'è che non va? Puoi farmi un esempio?

totti240282 Profilo | Guru

Casomai devi invertire la sequanza comandi prima crei l'oggetto e poi lo aggiungi alla form.
C'è solo un capitano !!!!!!

Alfredo Profilo | Newbie

>Riprendo il tuo
>Dim t as New Textbox
>t.Id = "txt1"
>Me.Controls.Add(t)
>
Non ho capito. Il fatto è che non devo creare una istanza della classe generica TextBox, ma devo creare una istanza della textbox di nome "TextBox1" che ho già inserito nella mia form.

>t.Id = "txt1"

Cos'è id ?

Alfredo Profilo | Newbie

Ciao!

>Dim t as new Textbox1()

è proprio questa riga che mi genera errore!
Mi dice "tipo TextBox1" non definito.
In effetti la voce "TextBox1" non appare nella finestra gialla dell'intellisense".
Come mai?

totti240282 Profilo | Guru

devi fare cosi :

Dim t as new Textbox
C'è solo un capitano !!!!!!

Alfredo Profilo | Newbie

>devi fare cosi :
>
>Dim t as new Textbox
>C'è solo un capitano !!!!!!

Sono 4 post che lo ripeto ...non devo creare una istanza di una textbox qualsiasi, ma delle MIA textbox di nome "Textbox1". (guardare primo post in assoluto)
Si può fare? A questo punto ho qualche dubbio...

Alfredo Profilo | Newbie

>devi crearti una classe a parte che ereditda textbox e in questo
>modo riesci ad istanziare la tua "textbox"
>
Ah, finalmente!
Questo lo supponevo già. Ma non si può fare direttamente, come si fa con le form?
Dim f2 As New frmPrincipale ' la mia form
f2.Show ' ad esempio

Perchè le form "personali" si possono istanziare direttamente e le textbox no?

totti240282 Profilo | Guru

perche tu devi creare un controllo che sul form in quel momento nn esiste..mentre la form che richiami a design time già esiste,ma con la differenza che non è stata istanziata(creata).
C'è solo un capitano !!!!!!

Alfredo Profilo | Newbie

OK. Ora ho capito.
Grazie dell'aiuto
Alfredo

Alfredo Profilo | Newbie

OK!
Ho letto solo ora...
Thanks!

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5