Property Componente

sabato 08 marzo 2008 - 14.33

nickola Profilo | Newbie

Ciao a tutti,
mi sto occupando della realizzazione di componenti in vb.net.
Vorrei sapere come bisogna definire una property di un componente, per poterla rendere visible in fase di design nell'elenco accanto alla form.
Vi ringrazio anticipatamente della vostra collaborazione.
Ciao,
Nicola

aiedail92 Profilo | Expert

Ciao

Per farlo devi assegnarle quando la dichiari un attributo System.ComponentModel.Browsable, in questo modo:


<System.ComponentModel.Browsable(True)> _ Public Property TuaProprietà() As Tipo Get '... End Get Set(ByVal value As Tipo) '... End Set End Property

Luca

nickola Profilo | Newbie

Ciao,
ti ringrazio per avermi risposto; ho provato e funziona.
Vorrei capire perchè le proprietà spuntano sotto "MISC", ed eventualmente come si possono creare altre categorie sotto le quali mostrare le proprietà divise per argomento.
Ti ringrazio della tua disponibilità
Ciao,
Nicola

aiedail92 Profilo | Expert

Per impostare la categoria sotto cui mostrare la prprietà devi sempre utilizzare gli attributi, in questo caso CategoryAttribute:

<System.ComponentModel.Category("Nome Categoria")>

Luca

nickola Profilo | Newbie

Grazie ancora; funziona.
Ciao
Nicola

nickola Profilo | Newbie

Ciao,
come faccio ad impostare sotto quale categoria della toolbox deve apparire il componente?
Noto che il componente viene aggiunto o sotto la categoria "General", oppure nella categoria "All Windows Forms" della toolbox.
Ti ringrazio della tua disponibilità
Grazie,
Nicola

aiedail92 Profilo | Expert

Così non saprei risponderti, ho avuto anche io lo stesso problema, ma alla fine mi sono rassegnato, essendomi fatto l'idea che la toolbox non potesse essere comandata dal design. Adesso provo a fare una ricerca e poi ti dico.

Luca

nickola Profilo | Newbie

Ciao,
ti ringrazio lo stesso.
Sapresti dirmi, a cosa serve la property "site" di un componente, che a quanto sembra, sarebbe essenziale per l'istanziazione del componente stesso?
Ti ringrazio,
Nicola

aiedail92 Profilo | Expert

Dunque, un sito è una classe che implementa l'interfaccia ISite. In quest'interfaccia sono presenti quattro proprietà (e un metodo): Component, che è il componente associato al sito, Container, che è il contenitore del componente, DesignMode che è un valore booleano che determina se il componente è in fase di progettazione, e Name, che è il nome associato al sito. In pratica i siti servono ad associare un oggetto Component ad un oggetto Container, che è il suo contenitore, e consentono ai due di comunicare fra loro.

Per ulteriori informazioni ti rimando a MSDN:

http://msdn2.microsoft.com/it-it/library/system.componentmodel.isite(VS.80).aspx per l'interfaccia ISite,
http://msdn2.microsoft.com/it-it/library/system.componentmodel.icomponent(VS.80).aspx per IComponent

Comunque, ereditando da Component, praticamente tutto il lavoro è già fatto, quindi generalmente non c'è bisogno di preoccuparsi della proprietà Site, poichè Component costituisce l'implementazione predefinita della classe IComponent.

Luca

nickola Profilo | Newbie

Ti ringrazio della tua collaborazione,
conosci dei programmi che si occupano di offuscare il codice intermedio e quello oggetto?
Ti ringrazio anticipatamente
Ciao,
Nicola

aiedail92 Profilo | Expert

Fin'ora non ho usato programmi di offuscamento, comunque con Visual Studio dovrebbe essere incluso Dotfuscator Community Edition, però non so dirti quali siano le restrizioni, o i costi della versione standard o professional

Luca
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5