I've got a grid cell that is painted with (or contains) an array of 0 - 4 icons which represent the methods in which a customer was contacted during a certain period.
At first I wanted to create an image and assign it to the cell's image property (seemed the easiest option) but it gave me 2 problems.
1) The cell insisted on displaying the image in the centre of the cell even though I'd told the image content to align left.
2) I couldn't think of a safe method to make sure the images are disposed of when no longer in use eg after paging/filtering/sorting etc.
So I thought that I'd use the cell paint event and paint an image to e.cell.graphics as I'd not need to do any memory management.
But there's little info in your help files about how to paint all the default parts of a cell. ie if one wanted to paint a default cell, but draw an image onto it so that selected colours, text fonts, back colour, theming etc etc etc looked the same on the cell. (Multi themed app)
In the microsoft grid view CellPaint event, there's a flag that the dev sets to say that painting has been done, to prevent infinite recursing. I've noticed that flag isn't in your grid view. I wondered how that effected the cell paint if you only wanted to paint a single column of the grid for example.