ListBoxのオーナードロー

ListBox のオーナードローを使って、ListBox の中にたくさんのコントロールを整列表示したいなぁと思っていろいろ調べてみました。これまで Panel を継承して、その中にコントロールを整列表示していたんですが、同じことがもっと簡単にできるかな?と思ったのがはじまりでした。
ポイントは、表示したい項目が、できあいのカスタムコントロールってところです。
結論としては、面倒そうです。

ListBox に項目を追加するのは、listbox1.Items.Add( 項目 ) とか AddRange とか Insert で行います。項目は必ずしも string じゃなくてもよいので、コントロールを載せられるかなと考えたわけです。
オーナードローは DrawItem イベントハンドラを追加します。継承で作るなら OnDrawItem ですね。このメソッドで引数の DrawItemEventArgs の Graphics を使って、項目を描くという仕組みです。
サンプルをいろいろ探してみると、どれもこれも、この DrawItem の中で Graphics を使って直接描いてるものばかり。う〜ん、このメソッドでコントロールを描画するにはどうしたらいいものやら…。私には分かりません…。
Items に Control を載せて使うことは想定外なんでしょうか。
郷に入れば郷に従えなので、できあいのカスタムコントロールを解体して、ListBox のオーナードローに合う形にするほうが早そうです。でも、なんだか悔しい…。
何か簡単にできる方法はないでしょうか?