Если я правильно читаю ваш код, вы пытаетесь поместить пользовательский контроль в поле со списком.
При этом переопределение ToString не будет работать, поэтому код, который у вас в данный момент работает, просто измените DrawMode:
Это работает:
cboFields.DrawMode = DrawMode.OwnerDrawFixed;
cboFields.DrawItem += new DrawItemEventHandler(cboFields_DrawItem);
private void cboFields_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
if (e.Index > -1)
e.Graphics.DrawString(cboFields.Items[e.Index].ToString(), e.Font, Brushes.Black, e.Bounds);
}
Но я должен сказать, я не знаю, является ли наилучшим способом сделать UserControl внутри коллекции ComboBox,Я бы серьезно подумал о рефакторинге по-другому.