A: 

If the cell view layout is static, perhaps hosting a user control in the cell is appropriate.

Coov
A: 

I thought about this more and I discovered my approach was wrong. The DataGridView has good support for adding user controls in edit mode but the view I'm creating is intended to be always interactive and is probably not appropriate for a DataGridView.

The solution that I came up with was to use a TableLayoutPanel. This control works great for me because you get so much control over how it is rendered and it is very easy to nest controls inside of it.

Perhaps the question I asked needs to be tweaked a little because the solution I'm excepting solves my problem but doesn't really answer the question.

Coov