Ciao a tutti,
ho una DataGridView, rimpita con dei dati, e vorrei aggiungere una colonna che contiene dei pulsanti con immagine di sfondo.Ci sarebbe già un tipo di colonna predefinita la DataGridViewButtonColumn,ma permette solo di visualizzare dei pulsanti ma non è possibile assegnargli un immagine.
Ho provato quindi a crearmi una mia DataGridViewColumn personalizzata:



Codice PHP:
    public class MiaColonna DataGridViewColumn
    
{
        public 
MiaColonna() : base()
        {
            
            
this.CellTemplate = new MiaCella();
        }

        public 
override DataGridViewCell CellTemplate
        
{
            
get
            
{
                return 
base.CellTemplate;
            }
            
set
            
{
                
base.CellTemplate value;
            }
        }


        public class 
MiaCella DataGridViewCell
        
{
            private 
Button b;
            public 
MiaCella(): base()
            {
                
= new Button();
                
this.b.Text "Bottone di prova";
                
b.Image Image.FromFile("C:\\prova.jpg");
            }
            protected 
override void Paint(Graphics graphicsRectangle clipBoundsRectangle cellBoundsint rowIndexDataGridViewElementStates cellStateobject valueobject formattedValuestring errorTextDataGridViewCellStyle cellStyleDataGridViewAdvancedBorderStyle advancedBorderStyleDataGridViewPaintParts paintParts)
            {
                
base.Paint(graphicsclipBoundscellBoundsrowIndexcellStatevalueformattedValueerrorTextcellStyleadvancedBorderStylepaintParts);

                
Rectangle dimensioni = new Rectangle(cellBounds.Location.XcellBounds.Location.YcellBounds.Size.WidthcellBounds.Size.Height);
                
b.Size dimensioni.Size;
                
b.Location dimensioni.Location;
                
this.DataGridView.Controls.Add(b);
            }
        }
    } 

Purtroppo mi si verifica il seguente errore :

System.FormatException: La proprietà FormattedValueType di una cella non può essere null.
Avete qualche idea!?Sto per caso cercando di fare una cosa che non si puo' fare?

:master: