Grazie per avermi letto fin qui
Ciao
Gianluca
> Quindi ho avviato un nuovo
> progetto di libreria di classi, ho aggiunto un nuovo controllo utente,
> nella finestra di progettazione ho aggiunto una textbox ed ho scritto
> il codice per aggiungere le 2 nuove proprietą che mi occorrono.
> Fin qui tutto bene, quello che vorrei č che tutte le altre proprietą
> della text box (text, font, textalign, etc.) siano accessibili dal
> programma dove utilizzerņ, il mio controllo. La via pił semplice per
> me e quella di riscrivere tutte le proprietą che mi occorrono nel
> codice del mio controllo e poi trasferirle alla text box, ma vorrei
> sapere se esiste un'altro metodo che mi risparmi un pņ di lavoro.
Puoi creare una classe con
Public Class MyTextBox
Inherits TextBox
' aggiungi le tue proprietą
End Class
Caspita che rapidità!!!
Ci avevo già provato, ma non mi riconosce la parola textbox. Penso che
devo aggiungere nei riferimenti qualcosa, ma non so cosa.
> Caspita che rapidità!!!
> Ci avevo già provato, ma non mi riconosce la parola textbox. Penso che
> devo aggiungere nei riferimenti qualcosa, ma non so cosa.
System.Windows.Forms.TextBox
Conviene sempre estendere un controllo imho. Lo puoi lasciare base, poi ci
aggiungi funzionalità quando serve, esempio il colore di sfondo al focus o
validazione dei dati.
Una volta fatto devi compilare, poi puoi aggiungerlo al progetto.
Scusami se abuso della tua pazienza.
Ho fatto come mi hai detto, ma continua a non permettermi di inserire
la riga che mi hai indicato. Mi dà il seguente errore:
La classe base 'System.Windows.Forms.TextBox' specificata per la
classe 'TextBoxGO' non può essere differente dalla classe base
'System.Windows.Forms.UserControl' di uno degli altri tipi parziali.
> Scusami se abuso della tua pazienza.
> Ho fatto come mi hai detto, ma continua a non permettermi di inserire
> la riga che mi hai indicato. Mi dà il seguente errore:
>
> La classe base 'System.Windows.Forms.TextBox' specificata per la
> classe 'TextBoxGO' non può essere differente dalla classe base
> 'System.Windows.Forms.UserControl' di uno degli altri tipi parziali.
Allora aggiungi un modulo di classe (Non un controllo utente) e scrivi:
Public Class MyTextBox
Inherits System.Windows.Forms.TextBox
' aggiungi le tue proprietà
End Class
Se compili poi lo puoi vedere disponibile e trascinabile sui form.
"Andrea [Work]" <andrea.isw...@gmail.invalid> ha scritto nel
messaggio news:68i7bcn308j2.1x...@40tude.net...
Ho provato anche questo sistema, ma non sono riuscito poi a visualizzarlo
all'interno del progetto.
Per il momento ho risolto utilizzando la classe usercontrol al posto della
textbox, qualche proprietà me la mostra già, le altre le creo io, ma in
questo modo non sono molte quelle che devo aggiungere.
Grazie mille ancora per l'aiuto
Ciao
Gianluca
> Ho provato anche questo sistema, ma non sono riuscito poi a visualizzarlo
> all'interno del progetto.
Come ti ho detto devi compilare prima di poterlo vedere.
E poi eventualmente dai componenti lo cerchi e lo aggiungi. Lo vedrai come
un ingranaggio viola
Prova a vedere questo per capirci:
http://nuke.vbcorner.net/Progetti/VBNET/CustomComponentsVB2008/tabid/109/Default.aspx
ho cercato di farlo in vb 2008 express
ma non trovo la classe component descritta nell'articolo
è un limite della express?
>>Come ti ho detto devi compilare prima di poterlo vedere.
>>E poi eventualmente dai componenti lo cerchi e lo aggiungi. Lo vedrai come
>>un ingranaggio viola
>>
>>Prova a vedere questo per capirci:
>>http://nuke.vbcorner.net/Progetti/VBNET/CustomComponentsVB2008/tabid/109/Default.aspx
>
> ho cercato di farlo in vb 2008 express
> ma non trovo la classe component descritta nell'articolo
>
> è un limite della express?
Non so, il concetto è fare un modulo di classe NORMALE, scrivere il codice
con il solo Inherits e compilarla, dovrebbe essere utilizzabile subito la
textbox, altrimenti si prova ad aggiungerla dai componenti.
Ti dico come sto facendo
Apro un nuovo progetto - Libreria di Classi
aggungo il riferimento
Public Class clsProva
Inherits System.Windows.Forms.TextBox
End Class
L'errore è
Tipo 'System.Windows.Forms.TextBox' non definito.
Ma tu usi una WindowsApplication?
> Ti dico come sto facendo
> Apro un nuovo progetto - Libreria di Classi
>
> aggungo il riferimento
>
> Public Class clsProva
>
> Inherits System.Windows.Forms.TextBox
>
> End Class
>
> L'errore è
> Tipo 'System.Windows.Forms.TextBox' non definito.
>
> Ma tu usi una WindowsApplication?
Prova su una WindowApplication, ma io poi le ho spostate anche in una dll e
funzionano (ovviamente per vederle poi nei progetti devi aggiungere da
componenti la dll e spustare i controlli).
Guarda grazie al link che mi ha dato Andrea finalmente sono riuscito a
risolvere.
Namespace ControlliGO
Public Class TextBoxGO
Inherits System.Windows.Forms.TextBox
Ho dovuto inserire il tutto in un nuovo Namespace. Cosě il mio nuovo
controllo funziona perfettamente prendendo tutti gli attributi di una classe
textbox.
Quello che adesso non capisco č il perchč...
ok
si può fare anche nativamente su un progetto classLibrary
basta aggiungere nei riferimenti System.Windows.Forms (
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll
)
ciao
> ok
> si pu� fare anche nativamente su un progetto classLibrary
> basta aggiungere nei riferimenti System.Windows.Forms (
> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll
> )
Si pu� essere.
Io avevo fatto dei controlli in un progetto. Poi ho spostato tutto in una
class library, e ho dovuto sistemare diverse cose, fra cui probabilmente
anche questa che non ricordavo.