Desenhando um círculo ou retângulo preenchido dentro de um DataGridViewCell em C # WinForms
Eu quero desenhar um pequeno círculo preenchido no centro de umDataGridViewCell
. Um retângulo pode fazer o truque também. Eu suponho que devo fazer isso no evento CellPainting.
Eu tentei isso:
if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
{
if (dgv_Cuotas.Columns[e.ColumnIndex].Name == "Seleccionar" && Convert.ToBoolean(dgv_Cuotas.Rows[e.RowIndex].Cells["pagada"].Value) == true)
{
e.CellStyle.BackColor = Color.LightGray; ;
e.PaintBackground(e.ClipBounds, true);
e.Handled = true;
}
}
Sua pintura toda a célula e eu só quero um pequeno círculo ou retângulo, como eu mostro na próxima foto:
Como posso conseguir isso?Usando um DataGridViewImageCell não é uma opção porque estou tendo um erro de formatação. Eu só posso mudar esse DataGridViewCheckBoxCell para um DataGridViewTextboxCell.
EDITAR: Eu posso mudar isso para DataGridViewImageCell !! Não sei o que aconteceu antes, mas ainda não consigo carregar a imagem lá. Acabei de receber um quadrado branco com uma cruz vermelha (ícone Sem imagem). Aqui está o meu código:
dgv_Cuotas.Rows[row.Index].Cells["Seleccionar"] = new DataGridViewImageCell();
dgv_Cuotas.Rows[row.Index].Cells["Seleccionar"].Value = Properties.Resources.punto_verde;
dgv_Cuotas.Rows[row.Index].Cells["Seleccionar"].Style.ForeColor = Color.White;
dgv_Cuotas.Rows[row.Index].Cells["Seleccionar"].Style.SelectionForeColor = Color.White;