の中央に小さな塗りつぶされた円を描きたいですDataGridViewCell
。長方形もそのトリックを行うことができます。CellPaintingイベントでそれをしなければならないと思います。
私はこれを試しました:
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;
}
}
セル全体をペイントしているので、次の図に示すように、小さな円または長方形が必要です。
どうすればこれを達成できますか?フォーマットエラーが発生しているため、DataGridViewImageCellを使用することはできません。そのDataGridViewCheckBoxCellをDataGridViewTextboxCellに変更できます。
編集: DataGridViewImageCellに変更できます!! 以前に何が起こったのかわかりませんが、それでも画像を読み込むことができません。赤い十字が付いた白い正方形が表示されます(画像アイコンなし)。これが私のコードです:
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;