// ** private private void ShowZoomedCell(int row, int col) { // ignore empty area if (row < _owner.Rows.Fixed || col < _owner.Cols.Fixed) { Visible = false; return; } // get cell rectangle Rectangle rc = _owner.GetCellRect(row, col); // create bitmap CellStyle style = _owner.GetCellStyleDisplay(row, col); Image = new Bitmap(rc.Width, rc.Height); using (Graphics g = Graphics.FromImage(Image)) { Point pt = rc.Location; rc.Location = Point.Empty; style.Render(g, rc, _owner.GetDataDisplay(row, col)); rc.Location = pt; } // apply zoom factor rc.Inflate((int)(rc.Width * (_zoom - 1)), (int)(rc.Height * (_zoom - 1))); Bounds = rc; Visible = true; Invalidate(); }