How about
Control.DrawToBitmap Method (Bitmap, Rectangle) (System.Windows.Forms)[
^] ?
Bitmap bitmap = new Bitmap(cap_top.Width + cap_btm.Width, Math.Max(cap_top.Height, cap_btm.Height));
cap_top.DrawToBitmap(bitmap, new Rectangle(0, 0, cap_top.Width, cap_top.Height));
cap_btm.DrawToBitmap(bitmap, new Rectangle(cap_top.Width, 0, cap_btm.Width, cap_btm.Height));