Avere uno standard WinForms 2.0 PropertyGrid
control Sto cercando un modo per modificare il colore del bordo del controllo o rimuovere del tutto il bordo.Come modificare il colore del bordo (o rimuovere il bordo) di un controllo PropertyGrid?
Sono consapevole del LineColor
property che purtroppo cambia solo i confini interni tra le cellule.
Inoltre, ho utilizzato ILSpy per dare un'occhiata al codice sorgente del controllo PropertyGrid
e ancora non ho trovato nulla di significativo per me.
La mia domanda è:
Come rimuovere il bordo esterno di un controllo PropertyGrid
o cambiare il colore del bordo esterno?
Aggiornamento 2012-05-04 - Solution (alias "hack"):
Sulla base di Jamie's answer ho assemblato una soluzione di lavoro (which you can download from here):
L'idea è quella di posiziona la griglia di proprietà all'interno di un pannello e lascia che il pannello ritiri il controllo.
Con questo approccio, ho fatto posto il pannello di ritaglio in un altro pannello che ha un Padding
di "1" (o quello che volete i confini di essere) e ha dato questo pannello un BackColor
che funge da colore del bordo (verde il mio esempio).
Impostare l'Ancora della griglia di proprietà su "Sinistra, Destra, Superiore, Inferiore", impostare lo Dock
del pannello di ritaglio su "Completo".
Questo funziona bene per le mie esigenze. Lo vedrei come una specie di hack poiché consuma le risorse di due pannelli che speravo di poter salvare.
Hehe, l'ho già provato in passato, senza successo. Ci riproverò ancora una volta, nel caso avessi fatto qualcosa di sbagliato. –
@Jamie Ha funzionato, grazie per il tuo suggerimento! Aggiornerò la mia domanda con la tua risposta –
Attenzione, questo può byte quando le finestre vengono ridimensionate a causa del ridimensionamento automatico del formato. Si vuole veramente scrivere il codice nel gestore di eventi Resize del pannello per assicurarsi sempre che PropertyGrid sia dove dovrebbe essere. –