Dibujo personalizado de DatagridViewComboBoxColumn

Estoy usando unaDataGridView con unDataGridViewComboBoxColumn y necesito agregar iconos a la izquierda de los elementos del cuadro combinado. Actualmente estoy usandoEditingControlShowing evento junto conComboBox.DrawItem evento, así:

private void pFiles_dgvFiles_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    if (e.Control is ComboBox)
    {
    ComboBox cb = (ComboBox)e.Control;                                
    cb.DrawMode = DrawMode.OwnerDrawFixed;
    cb.DrawItem -= combobox1_DrawItem;
    cb.DrawItem += combobox1_DrawItem;
     }
}

private void combobox1_DrawItem(object sender, DrawItemEventArgs e)
{
    // Drawing icon here        
}

El problema es que los iconos solo se dibujan mientras la celda esté en modo de edición. Tan pronto como hago clic en algún lugar fuera de la celda, laCellEndEditl evento @ se dispara y la celda se vuelve a pintar (sin el icono).

Intenté usar elDataGridView.CellPainting evento para resolver este problema, pero hace que el botón desplegable deDataGridViewComboBoxColumn desaparecer

¿Alguna idea sobre cómo dibujar un icono después de que el usuario haya terminado de editar la celda?

Respuestas a la pregunta(1)

Su respuesta a la pregunta