protected virtual void OnCellStyleContentChanged (DataGridViewCellStyleContentChangedEventArgs e) { DataGridViewCellStyleContentChangedEventHandler eh = (DataGridViewCellStyleContentChangedEventHandler)(Events [CellStyleContentChangedEvent]); if (eh != null) eh (this, e); }
internal void OnCellStyleContentChanged(DataGridViewCellStyle dataGridViewCellStyle, DataGridViewCellStyle.DataGridViewCellStylePropertyInternal property) { Debug.Assert(dataGridViewCellStyle != null); switch (property) { case DataGridViewCellStyle.DataGridViewCellStylePropertyInternal.Font: if ((dataGridViewCellStyle.Scope & DataGridViewCellStyleScopes.DataGridView) != 0 && this.dataGridViewState1[DATAGRIDVIEWSTATE1_ambientFont]) { this.dataGridViewState1[DATAGRIDVIEWSTATE1_ambientFont] = false; } if ((dataGridViewCellStyle.Scope & DataGridViewCellStyleScopes.ColumnHeaders) != 0 && this.dataGridViewState1[DATAGRIDVIEWSTATE1_ambientColumnHeadersFont]) { this.dataGridViewState1[DATAGRIDVIEWSTATE1_ambientColumnHeadersFont] = false; } if ((dataGridViewCellStyle.Scope & DataGridViewCellStyleScopes.RowHeaders) != 0 && this.dataGridViewState1[DATAGRIDVIEWSTATE1_ambientRowHeadersFont]) { this.dataGridViewState1[DATAGRIDVIEWSTATE1_ambientRowHeadersFont] = false; } break; case DataGridViewCellStyle.DataGridViewCellStylePropertyInternal.ForeColor: if ((dataGridViewCellStyle.Scope & DataGridViewCellStyleScopes.DataGridView) != 0 && this.dataGridViewState1[DATAGRIDVIEWSTATE1_ambientForeColor]) { this.dataGridViewState1[DATAGRIDVIEWSTATE1_ambientForeColor] = false; } break; } DataGridViewCellStyleContentChangedEventArgs dgvcscce = new DataGridViewCellStyleContentChangedEventArgs(dataGridViewCellStyle, property != DataGridViewCellStyle.DataGridViewCellStylePropertyInternal.Color && property != DataGridViewCellStyle.DataGridViewCellStylePropertyInternal.ForeColor /*changeAffectsPreferredSize*/); OnCellStyleContentChanged(dgvcscce); }
/// <include file='doc\DataGridView.uex' path='docs/doc[@for="DataGridView.OnCellStyleContentChanged"]/*' /> protected virtual void OnCellStyleContentChanged(DataGridViewCellStyleContentChangedEventArgs e) { // We assume that when a color changes, it has no effect on the autosize of elements bool repositionEditingControl = false; if ((e.CellStyleScope & DataGridViewCellStyleScopes.Cell) == DataGridViewCellStyleScopes.Cell && (e.CellStyleScope & DataGridViewCellStyleScopes.DataGridView) == 0) { // Same processing as in OnDefaultCellStyleChanged if (e.ChangeAffectsPreferredSize) { repositionEditingControl = true; OnGlobalAutoSize(); } else { Invalidate(); } } if ((e.CellStyleScope & DataGridViewCellStyleScopes.Column) == DataGridViewCellStyleScopes.Column) { if (e.ChangeAffectsPreferredSize) { repositionEditingControl = true; OnColumnsGlobalAutoSize(); } else { InvalidateData(); } } if ((e.CellStyleScope & DataGridViewCellStyleScopes.Row) == DataGridViewCellStyleScopes.Row && (e.CellStyleScope & DataGridViewCellStyleScopes.Rows) == 0 && (e.CellStyleScope & DataGridViewCellStyleScopes.AlternatingRows) == 0) { // Same processing as in OnRowsDefaultCellStyleChanged InvalidateData(); if (e.ChangeAffectsPreferredSize) { repositionEditingControl = true; // Autosize rows if needed if ((((DataGridViewAutoSizeRowsModeInternal)this.autoSizeRowsMode) & DataGridViewAutoSizeRowsModeInternal.AllColumns) != 0) { AdjustShrinkingRows(this.autoSizeRowsMode, false /*fixedWidth*/, true /*internalAutosizing*/); } // Auto size columms also if needed // Impossible to figure out if DisplayedRows filter should be added or not. Adding it to be on the conservative side. AutoResizeAllVisibleColumnsInternal(DataGridViewAutoSizeColumnCriteriaInternal.AllRows | DataGridViewAutoSizeColumnCriteriaInternal.DisplayedRows, true /*fixedHeight*/); // Second round of rows autosizing if ((((DataGridViewAutoSizeRowsModeInternal)this.autoSizeRowsMode) & DataGridViewAutoSizeRowsModeInternal.AllColumns) != 0) { AdjustShrinkingRows(this.autoSizeRowsMode, true /*fixedWidth*/, true /*internalAutosizing*/); } } } if ((e.CellStyleScope & DataGridViewCellStyleScopes.DataGridView) == DataGridViewCellStyleScopes.DataGridView) { this.CellStyleChangedEventArgs.ChangeAffectsPreferredSize = e.ChangeAffectsPreferredSize; if (e.ChangeAffectsPreferredSize) { repositionEditingControl = false; // OnDefaultCellStyleChanged will reposition the editing control. } OnDefaultCellStyleChanged(this.CellStyleChangedEventArgs); } if ((e.CellStyleScope & DataGridViewCellStyleScopes.ColumnHeaders) == DataGridViewCellStyleScopes.ColumnHeaders) { this.CellStyleChangedEventArgs.ChangeAffectsPreferredSize = e.ChangeAffectsPreferredSize; if (e.ChangeAffectsPreferredSize) { repositionEditingControl = false; // OnColumnHeadersDefaultCellStyleChanged will reposition the editing control. } OnColumnHeadersDefaultCellStyleChanged(this.CellStyleChangedEventArgs); } if ((e.CellStyleScope & DataGridViewCellStyleScopes.RowHeaders) == DataGridViewCellStyleScopes.RowHeaders) { this.CellStyleChangedEventArgs.ChangeAffectsPreferredSize = e.ChangeAffectsPreferredSize; if (e.ChangeAffectsPreferredSize) { repositionEditingControl = false; // OnRowHeadersDefaultCellStyleChanged will reposition the editing control. } OnRowHeadersDefaultCellStyleChanged(this.CellStyleChangedEventArgs); } if ((e.CellStyleScope & DataGridViewCellStyleScopes.Rows) == DataGridViewCellStyleScopes.Rows) { this.CellStyleChangedEventArgs.ChangeAffectsPreferredSize = e.ChangeAffectsPreferredSize; if (e.ChangeAffectsPreferredSize) { repositionEditingControl = false; // OnRowsDefaultCellStyleChanged will reposition the editing control. } OnRowsDefaultCellStyleChanged(this.CellStyleChangedEventArgs); } if ((e.CellStyleScope & DataGridViewCellStyleScopes.AlternatingRows) == DataGridViewCellStyleScopes.AlternatingRows) { this.CellStyleChangedEventArgs.ChangeAffectsPreferredSize = e.ChangeAffectsPreferredSize; if (e.ChangeAffectsPreferredSize) { repositionEditingControl = false; // OnAlternatingRowsDefaultCellStyleChanged will reposition the editing control. } OnAlternatingRowsDefaultCellStyleChanged(this.CellStyleChangedEventArgs); } if (repositionEditingControl && this.editingControl != null) { PositionEditingControl(true /*setLocation*/, true /*setSize*/, false /*setFocus*/); } DataGridViewCellStyleContentChangedEventHandler eh = this.Events[EVENT_DATAGRIDVIEWCELLSTYLECONTENTCHANGED] as DataGridViewCellStyleContentChangedEventHandler; if (eh != null && !this.dataGridViewOper[DATAGRIDVIEWOPER_inDispose] && !this.IsDisposed) { eh(this, e); } }
protected virtual void OnCellStyleContentChanged(DataGridViewCellStyleContentChangedEventArgs e);
private void dgvItem_CellStyleContentChanged(object sender, DataGridViewCellStyleContentChangedEventArgs e) { txtPrice.Text = SumTotalPrice().ToString(); txtSumTotal.Text = SumTotal().ToString(); txtCount.Text = SumTotalCount().ToString(); }
internal void OnCellStyleContentChanged(DataGridViewCellStyle dataGridViewCellStyle, DataGridViewCellStyle.DataGridViewCellStylePropertyInternal property) { switch (property) { case DataGridViewCellStyle.DataGridViewCellStylePropertyInternal.Font: if (((dataGridViewCellStyle.Scope & DataGridViewCellStyleScopes.DataGridView) != DataGridViewCellStyleScopes.None) && this.dataGridViewState1[0x2000000]) { this.dataGridViewState1[0x2000000] = false; } if (((dataGridViewCellStyle.Scope & DataGridViewCellStyleScopes.ColumnHeaders) != DataGridViewCellStyleScopes.None) && this.dataGridViewState1[0x4000000]) { this.dataGridViewState1[0x4000000] = false; } if (((dataGridViewCellStyle.Scope & DataGridViewCellStyleScopes.RowHeaders) != DataGridViewCellStyleScopes.None) && this.dataGridViewState1[0x8000000]) { this.dataGridViewState1[0x8000000] = false; } break; case DataGridViewCellStyle.DataGridViewCellStylePropertyInternal.ForeColor: if (((dataGridViewCellStyle.Scope & DataGridViewCellStyleScopes.DataGridView) != DataGridViewCellStyleScopes.None) && this.dataGridViewState1[0x400]) { this.dataGridViewState1[0x400] = false; } break; } DataGridViewCellStyleContentChangedEventArgs e = new DataGridViewCellStyleContentChangedEventArgs(dataGridViewCellStyle, (property != DataGridViewCellStyle.DataGridViewCellStylePropertyInternal.Color) && (property != DataGridViewCellStyle.DataGridViewCellStylePropertyInternal.ForeColor)); this.OnCellStyleContentChanged(e); }
protected virtual void OnCellStyleContentChanged(DataGridViewCellStyleContentChangedEventArgs e) { bool flag = false; if (((e.CellStyleScope & DataGridViewCellStyleScopes.Cell) == DataGridViewCellStyleScopes.Cell) && ((e.CellStyleScope & DataGridViewCellStyleScopes.DataGridView) == DataGridViewCellStyleScopes.None)) { if (e.ChangeAffectsPreferredSize) { flag = true; this.OnGlobalAutoSize(); } else { base.Invalidate(); } } if ((e.CellStyleScope & DataGridViewCellStyleScopes.Column) == DataGridViewCellStyleScopes.Column) { if (e.ChangeAffectsPreferredSize) { flag = true; this.OnColumnsGlobalAutoSize(); } else { this.InvalidateData(); } } if ((((e.CellStyleScope & DataGridViewCellStyleScopes.Row) == DataGridViewCellStyleScopes.Row) && ((e.CellStyleScope & DataGridViewCellStyleScopes.Rows) == DataGridViewCellStyleScopes.None)) && ((e.CellStyleScope & DataGridViewCellStyleScopes.AlternatingRows) == DataGridViewCellStyleScopes.None)) { this.InvalidateData(); if (e.ChangeAffectsPreferredSize) { flag = true; if ((this.autoSizeRowsMode & ((DataGridViewAutoSizeRowsMode) 2)) != DataGridViewAutoSizeRowsMode.None) { this.AdjustShrinkingRows(this.autoSizeRowsMode, false, true); } this.AutoResizeAllVisibleColumnsInternal(DataGridViewAutoSizeColumnCriteriaInternal.DisplayedRows | DataGridViewAutoSizeColumnCriteriaInternal.AllRows, true); if ((this.autoSizeRowsMode & ((DataGridViewAutoSizeRowsMode) 2)) != DataGridViewAutoSizeRowsMode.None) { this.AdjustShrinkingRows(this.autoSizeRowsMode, true, true); } } } if ((e.CellStyleScope & DataGridViewCellStyleScopes.DataGridView) == DataGridViewCellStyleScopes.DataGridView) { this.CellStyleChangedEventArgs.ChangeAffectsPreferredSize = e.ChangeAffectsPreferredSize; if (e.ChangeAffectsPreferredSize) { flag = false; } this.OnDefaultCellStyleChanged(this.CellStyleChangedEventArgs); } if ((e.CellStyleScope & DataGridViewCellStyleScopes.ColumnHeaders) == DataGridViewCellStyleScopes.ColumnHeaders) { this.CellStyleChangedEventArgs.ChangeAffectsPreferredSize = e.ChangeAffectsPreferredSize; if (e.ChangeAffectsPreferredSize) { flag = false; } this.OnColumnHeadersDefaultCellStyleChanged(this.CellStyleChangedEventArgs); } if ((e.CellStyleScope & DataGridViewCellStyleScopes.RowHeaders) == DataGridViewCellStyleScopes.RowHeaders) { this.CellStyleChangedEventArgs.ChangeAffectsPreferredSize = e.ChangeAffectsPreferredSize; if (e.ChangeAffectsPreferredSize) { flag = false; } this.OnRowHeadersDefaultCellStyleChanged(this.CellStyleChangedEventArgs); } if ((e.CellStyleScope & DataGridViewCellStyleScopes.Rows) == DataGridViewCellStyleScopes.Rows) { this.CellStyleChangedEventArgs.ChangeAffectsPreferredSize = e.ChangeAffectsPreferredSize; if (e.ChangeAffectsPreferredSize) { flag = false; } this.OnRowsDefaultCellStyleChanged(this.CellStyleChangedEventArgs); } if ((e.CellStyleScope & DataGridViewCellStyleScopes.AlternatingRows) == DataGridViewCellStyleScopes.AlternatingRows) { this.CellStyleChangedEventArgs.ChangeAffectsPreferredSize = e.ChangeAffectsPreferredSize; if (e.ChangeAffectsPreferredSize) { flag = false; } this.OnAlternatingRowsDefaultCellStyleChanged(this.CellStyleChangedEventArgs); } if (flag && (this.editingControl != null)) { this.PositionEditingControl(true, true, false); } DataGridViewCellStyleContentChangedEventHandler handler = base.Events[EVENT_DATAGRIDVIEWCELLSTYLECONTENTCHANGED] as DataGridViewCellStyleContentChangedEventHandler; if (((handler != null) && !this.dataGridViewOper[0x100000]) && !base.IsDisposed) { handler(this, e); } }
/// <summary> /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed. /// <example> /// datagridviewcellstylecontentchangedeventhandler.BeginInvoke(sender, e, callback); /// </example> /// </summary> public static IAsyncResult BeginInvoke(this DataGridViewCellStyleContentChangedEventHandler datagridviewcellstylecontentchangedeventhandler, Object sender, DataGridViewCellStyleContentChangedEventArgs e, AsyncCallback callback) { if(datagridviewcellstylecontentchangedeventhandler == null) throw new ArgumentNullException("datagridviewcellstylecontentchangedeventhandler"); return datagridviewcellstylecontentchangedeventhandler.BeginInvoke(sender, e, callback, null); }