Home Forums WinForms controls Xceed Grid for WinForms How can I change the background/foreground color of a cell being edited? Reply To: How can I change the background/foreground color of a cell being edited?

User (Old forums)
Post count: 23064


You didn’t mention if the cells were if value cells, data cells, insertion cells…  Also, I decided to make the grid:

gridControl1.SingleClickEdit =


so a single click on a cell gets you in edit mode.  Otherwise, things a more complicated.

The form1.cs gives this:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using Xceed.Grid;

namespace TestNet40
    public partial class Form1 : Form
        InsertionCell lastICell = null;
        DataCell lastDCell = null;

        public Form1()
            Xceed.Grid.Licenser.LicenseKey = “GRD38-…….”;

        private void Form1_Load(object sender, EventArgs e)
            gridControl1.SingleClickEdit = true;

        private void cell_EditEntered(object sender, EventArgs e)
            Xceed.Grid.InsertionCell iCell = null;
            if (sender is Xceed.Grid.InsertionCell)
                iCell = (Xceed.Grid.InsertionCell)sender;
                if (iCell != null)
                    gridControl1.CurrentCell.BackColor = Color.Yellow;
                    gridControl1.CurrentCell.ForeColor = Color.Blue;

            Xceed.Grid.DataCell dCell = null;
            if (sender is Xceed.Grid.DataCell)
                dCell = (Xceed.Grid.DataCell)sender;
                if (dCell != null)
                    gridControl1.CurrentCell.BackColor = Color.LightGray;
                    gridControl1.CurrentCell.ForeColor = Color.Black;
                    lastDCell = dCell;
            Debug.WriteLine(“Edit entered”);

        private void cell_EditLeft(object sender, EditLeftEventArgs e)
            if (lastICell != null)
                lastICell = null;
            if (lastDCell != null)
                lastDCell = null;
            Debug.WriteLine(“Edit left”);


Basically, I have put an event on the ‘Edit left’ and ‘Edit entered’ with different color depending if it’s the insertion cells or the data cells.  There is certainly a way to write this more efficienly. 

Best regards,

Imported from legacy forums. Posted by Ghislain (had 1257 views)