Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB.net 2008] reggruppamento proprietà

    Ciao a tutti.
    Sto tentando di costruirmi una libreria di controlli da utilizzare in tutti i futuri applicativi.
    Per alcuni di essi ho bisogno di impostare parecchie proprietà, quindi vorrei che risultassero annidate all'interno della finestra delle proprietà in progettazione secondo una certa logica, un po' come fa "font" o "padding".
    Qualcuno ha idea di come si possa fare?
    Grazie
    Ciao
    Vendaval

  2. #2
    Guardando un po' in visual studio per capire come funziona il padding ho notato che la proprietà punta ad una struttura, quindi ho provato a creare una struttura:
    codice:
        Public Structure sColori
            Private _col1 As Color
            Private _col2 As Color
            Public Property col1() As Color
                Get
                    Return _col1
                End Get
                Set(ByVal value As Color)
                    _col1 = value
                End Set
            End Property
            Public Property col2() As Color
                Get
                    Return _col2
                End Get
                Set(ByVal value As Color)
                    _col2 = value
                End Set
            End Property
        End Structure
    e quindi inizializzare una variabile
    codice:
    Private _colori as sColori
    e quindi esporre quest'ultima come proprietà
    codice:
       Public Property colori() As sColori
            Get
                    return _colori
            End Get
            Set(ByVal value As sColori)
                    _colori = value
            End Set
        End Property
    Risultato: nella finestra delle proprietà il valore colori è readonly e WindowsApplication1.UserControl1+sColori
    ...

    perchè?!?!
    uff

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Lascia perdere le strutture, guarda e studiati questo esempio che ti ho fatto.

    codice:
    Public Class UserControl2
    
        <TypeConverter(GetType(ExpandableObjectConverter))> _
        Public Class Colori
    
            Private Colore1 As Color
            Private Colore2 As Color
    
            <NotifyParentProperty(True), RefreshProperties(RefreshProperties.Repaint)> _
            Property [PrimoColore]() As Color
                Get
                    Return Colore1
                End Get
                Set(ByVal Value As Color)
                    Colore1 = Value
                End Set
            End Property
    
            <DefaultValue(""), NotifyParentProperty(True), RefreshProperties(RefreshProperties.Repaint)> _
            Property [SecondoColore]() As Color
                Get
                    Return Colore2
                End Get
                Set(ByVal Value As Color)
                    Colore2 = Value
                End Set
            End Property
    
        End Class
    
        Private myColori As New Colori()
    
        <DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public Property MieiColori() As Colori
            Get
                Return myColori
            End Get
            Set(ByVal Value As Colori)
                myColori = Value
            End Set
        End Property
    
    End Class
    Sbagliare è umano, perseverare è diabolico.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.