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

    [C#] PropertyGrid e override property

    Salve a tutti, sto cercando di fare una cosa ma sono arrivato ad un punto che pur googlando non riesco a trovare il bandolo della matassa.

    Allora, ho creato una classe che estende la classe PictureBox, perché mi serve una Picturebox ma con una marcia in più se vogliamo

    Devo associare questa PictureBox ad una PropertyGrid e fin quì ci sono arrivato.

    Il problema è che la PropertyGrid mostra tutte le proprietà della PictureBox di base, mentre io vorrei visualizzare solo le proprietà aggiunte della mia implementazione.

    La mia idea di fondo, mi correggerete se erro, è di eseguire un override di tutte le proprietà di base, ma poi farlo eseguire come al solito, una sorta di semplice dichiarazione interna per poi richiamare il base.
    In questo modo potrei introdurre la direttiva [Browsable(false)] e nascondere la proprietà.

    Il mio problema è doppio, nel senso che non so se sto sbagliando a pensare così e inoltre non so come si fa un override di una proprietà mantendo invariate le funzioni di base....

    Grazie in anticipo per l'aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970

    Re: [C#] PropertyGrid e override property

    Originariamente inviato da Debiru
    La mia idea di fondo, mi correggerete se erro, è di eseguire un override di tutte le proprietà di base, ma poi farlo eseguire come al solito, una sorta di semplice dichiarazione interna per poi richiamare il base.
    Chiaramente non puoi dichiarare una proprietà Override se la proprietà di base non è stata dichiarata Overridable.

    In quel caso puoi fare l'Overloads della proprietà mantenendone le proprietà della classe di base.

    codice:
    <Browsable(False)> _
        Public Overloads Property Image() As Image
            Get
                Return MyBase.Image
            End Get
            Set(ByVal value As Image)
                MyBase.Image = value
            End Set
        End Property
    Sbagliare è umano, perseverare è diabolico.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Scusa ma per Default uso VB.Net per cui mi viene spontaneo utilizzarlo.

    codice:
    [Browsable(false)]
    public Image Image {
    	get { return base.Image; }
    	set { base.Image = value; }
    }
    Sbagliare è umano, perseverare è diabolico.

  4. #4
    Mmmmhhhh, ottimo a sapersi, io proprio una cosa del genere cercavo, solo che la potrò provare solo domani....

    Avevo addirittura trovato googlando un sistema a runtime per settare diversamente l'attributo di una proprietà, peccato che anche copiando ed incollando papale come è scritto non funziona...

    Ti farò sapere, tnx!!!

  5. #5
    Senti, già che ci sono carico

    Non sono riuscito a rendere la PropertyGrid sizable, ne tantomeno ancorabile, per ora l'ho messa come Dock a destra ma non è proprio quello che volevo ottenere, per caso esiste qualcosa di diverso per ottenere una cosa del genere?

    Tnx!

  6. #6
    Uff, a nascondere tutte le proprietà della PictureBox ce n'è voluto

    Tnx Pirelli, ha funzionato!!

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.