private void calibrGrid_OwnerDrawCell(object sender, C1.Win.C1FlexGrid.OwnerDrawCellEventArgs e) { if (e.Col == 0 || e.Row == 0) { return; } try { float value; if (float.TryParse(e.Text, out value)) { value = Math.Abs(value * paletteScale); e.Style.BackColor = Color.FromArgb(paletteFast.GetColorOnValue(value, SystemColors.Window.ToArgb())); e.Style.ForeColor = Color.Black; } } catch {} }
private void rtGrid_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { if (e.Value == null) { return; } var colCount = rtGrid.ColumnCount; var rowCount = rtGrid.RowCount; var cellCount = colCount * rowCount; var currentIndex = rtGrid.CurrentCellAddress.Y * colCount + rtGrid.CurrentCellAddress.X; var cellIndex = e.RowIndex * colCount + e.ColumnIndex; if (cellIndex == currentIndex) { e.CellStyle.BackColor = Color.Cyan; } else { if (cbCorrectionParams.Checked) { var color = Color.LightGoldenrodYellow; if (cellIndex >= 0 && cellIndex < cellCount) { if (gbcValue.Checked) { var cell = onlineManager.FirmwareManager.Gbc.Cell(cellIndex); color = cell.Count > 0 ? Color.FromArgb(gbcStudyPalette.GetColorOnValue(cell.Error, backColor)) : color; color = cell.StopStudy ? Color.LimeGreen : color; } else if (veValue.Checked) { var cell = onlineManager.FirmwareManager.Kgbc_press.Cell(cellIndex); color = cell.Count > 0 ? Color.FromArgb(kgbcStudyPalette.GetColorOnValue(cell.Error, backColor)) : color; color = cell.StopStudy ? Color.LimeGreen : color; } else { var cell = onlineManager.FirmwareManager.Kgbc.Cell(cellIndex); color = cell.Count > 0 ? Color.FromArgb(kgbcStudyPalette.GetColorOnValue(cell.Error, backColor)) : color; color = cell.StopStudy ? Color.LimeGreen : color; } } e.CellStyle.BackColor = color; } else { var palette = gbcValue.Checked ? gbcPalette : kgbcPalette; if (palette.Palette.Count == 0) { return; } float value; if (float.TryParse(e.Value.ToString(), out value)) { e.CellStyle.BackColor = Color.FromArgb(palette.GetColorOnValue(value, backColor)); } } } }