Пример #1
0
        private void InitializeIgnitionMap()
        {
            IgnitionMapDataGridView.Redim(11, 11);
            IgnitionMapDataGridView.FixedColumns = 1;
            IgnitionMapDataGridView.FixedRows    = 1;

            IgnitionMapDataGridView[0, 0] = new SourceGrid.Cells.ColumnHeader(string.Empty)
            {
                View = emptyHeaderView
            };
            IgnitionMapDataGridView[0, 0].Column.MinimalWidth = 80;
            IgnitionMapDataGridView[0, 0].Column.MaximalWidth = 200;
            IgnitionMapDataGridView[0, 0].Column.Width        = 80;

            for (int rowIndex = 1; rowIndex < 11; rowIndex++)
            {
                IgnitionMapDataGridView[rowIndex, 0]          = new LoadCell(Font, Controller.GlobalConfiguration.LoadTypeMaximum, (binIndex, value) => Controller.IgnitionMap.UpdateLoadBin(binIndex, value));
                IgnitionMapDataGridView.Rows[rowIndex].Height = 28;

                for (int columnIndex = 1; columnIndex < IgnitionMapDataGridView.ColumnsCount; columnIndex++)
                {
                    if (rowIndex == 1)
                    {
                        Cell rpmHeaderCellheader = new RpmCell(Font, (binIndex, value) => Controller.IgnitionMap.UpdateRpmBin(binIndex, value));
                        IgnitionMapDataGridView[0, columnIndex] = rpmHeaderCellheader;
                        rpmHeaderCellheader.Column.MinimalWidth = 60;
                        rpmHeaderCellheader.Column.Width        = 60;
                        rpmHeaderCellheader.View = columnHeaderView;
                    }

                    IgnitionMapDataGridView[rowIndex, columnIndex] = new AdvanceCell(Font, true, (row, col, value) => Controller.IgnitionMap[row, col] = unchecked ((byte)value));
                }
            }
            IgnitionMapDataGridView.Width = 0; //This will force a resize so the columns will stretch to fill the space.  The width will not actually be set to 0 because the Dock property is set to Fill.
        }
Пример #2
0
        void Controller_CurrentIgnitionCellChanged(object sender, EventArgs <IgnitionCellIndex> e)
        {
            SafeInvoke(() =>
            {
                if (CurrentCell != null)
                {
                    CurrentCell.View.BackColor = GetAdvanceColor(Convert.ToByte(CurrentCell.Value));
                    CurrentCell.View.ForeColor = Color.Black;
                }

                if ((e.Value.LoadBin == byte.MaxValue) || (e.Value.RpmBin == byte.MaxValue))
                {
                    return;
                }
                ICell cell          = IgnitionMapDataGridView[e.Value.LoadBin + 1, e.Value.RpmBin + 1];
                cell.View.BackColor = SystemColors.Highlight;
                cell.View.ForeColor = SystemColors.HighlightText;
                CurrentCell         = cell;

                IgnitionMapDataGridView.Refresh();
            });
        }