/// <include file='doc\DataGridView.uex' path='docs/doc[@for="DataGridView.OnAutoSizeColumnModeChanged"]/*' /> protected virtual void OnAutoSizeColumnModeChanged(DataGridViewAutoSizeColumnModeEventArgs e) { DataGridViewColumn dataGridViewColumn = e.Column; if (e.Column == null) { throw new InvalidOperationException(SR.GetString(SR.InvalidNullArgument, "e.Column")); } DataGridViewAutoSizeColumnMode autoSizeColumnMode = dataGridViewColumn.InheritedAutoSizeMode; Debug.Assert(autoSizeColumnMode != DataGridViewAutoSizeColumnMode.NotSet); DataGridViewAutoSizeColumnMode previousInheritedMode = e.PreviousMode; bool previousInheritedModeAutoSized = previousInheritedMode != DataGridViewAutoSizeColumnMode.Fill && previousInheritedMode != DataGridViewAutoSizeColumnMode.None && previousInheritedMode != DataGridViewAutoSizeColumnMode.NotSet; if (autoSizeColumnMode == DataGridViewAutoSizeColumnMode.Fill || previousInheritedMode == DataGridViewAutoSizeColumnMode.Fill) { // UsedFillWeight values need to be updated this.dataGridViewState2[DATAGRIDVIEWSTATE2_usedFillWeightsDirty] = true; } bool fixedHeight = (((DataGridViewAutoSizeRowsModeInternal)this.autoSizeRowsMode) & DataGridViewAutoSizeRowsModeInternal.AllColumns) == 0; if (autoSizeColumnMode != DataGridViewAutoSizeColumnMode.None) { if (autoSizeColumnMode != DataGridViewAutoSizeColumnMode.Fill) { if (!previousInheritedModeAutoSized) { // Save current column width for later reuse dataGridViewColumn.CachedThickness = dataGridViewColumn.Thickness; } AutoResizeColumnInternal(dataGridViewColumn.Index, (DataGridViewAutoSizeColumnCriteriaInternal) autoSizeColumnMode, fixedHeight); } } else if (dataGridViewColumn.Thickness != dataGridViewColumn.CachedThickness && previousInheritedModeAutoSized) { // Restoring cached column width dataGridViewColumn.ThicknessInternal = Math.Max(dataGridViewColumn.MinimumWidth, dataGridViewColumn.CachedThickness); } // Auto fill columns if needed PerformLayoutPrivate(false /*useRowShortcut*/, true /*computeVisibleRows*/, true /*invalidInAdjustFillingColumns*/, false /*repositionEditingControl*/); // Autosize rows and column headers if needed if (!fixedHeight) { AdjustShrinkingRows(this.autoSizeRowsMode, true /*fixedWidth*/, true /*internalAutosizing*/); if (this.ColumnHeadersHeightSizeMode == DataGridViewColumnHeadersHeightSizeMode.AutoSize) { AutoResizeColumnHeadersHeight(dataGridViewColumn.Index, true /*fixedRowHeadersWidth*/, true /*fixedColumnWidth*/); } // Column gets autosized with 1 degree of freedom this time. if (autoSizeColumnMode != DataGridViewAutoSizeColumnMode.None && autoSizeColumnMode != DataGridViewAutoSizeColumnMode.Fill) { AutoResizeColumnInternal(dataGridViewColumn.Index, (DataGridViewAutoSizeColumnCriteriaInternal)autoSizeColumnMode, true /*fixedHeight*/); } } DataGridViewAutoSizeColumnModeEventHandler eh = this.Events[EVENT_DATAGRIDVIEWAUTOSIZECOLUMNMODECHANGED] as DataGridViewAutoSizeColumnModeEventHandler; if (eh != null && !this.dataGridViewOper[DATAGRIDVIEWOPER_inDispose] && !this.IsDisposed) { eh(this, e); } }
protected internal virtual void OnAutoSizeColumnModeChanged (DataGridViewAutoSizeColumnModeEventArgs e) { DataGridViewAutoSizeColumnModeEventHandler eh = (DataGridViewAutoSizeColumnModeEventHandler)(Events [AutoSizeColumnModeChangedEvent]); if (eh != null) eh (this, e); }
internal void OnAutoSizeColumnModeChanged(DataGridViewColumn dataGridViewColumn, DataGridViewAutoSizeColumnMode previousInheritedMode) { Debug.Assert(dataGridViewColumn != null); DataGridViewAutoSizeColumnModeEventArgs dgvascme = new DataGridViewAutoSizeColumnModeEventArgs(dataGridViewColumn, previousInheritedMode); OnAutoSizeColumnModeChanged(dgvascme); }
/// <summary> /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed. /// <example> /// datagridviewautosizecolumnmodeeventhandler.BeginInvoke(sender, e, callback); /// </example> /// </summary> public static IAsyncResult BeginInvoke(this DataGridViewAutoSizeColumnModeEventHandler datagridviewautosizecolumnmodeeventhandler, Object sender, DataGridViewAutoSizeColumnModeEventArgs e, AsyncCallback callback) { if(datagridviewautosizecolumnmodeeventhandler == null) throw new ArgumentNullException("datagridviewautosizecolumnmodeeventhandler"); return datagridviewautosizecolumnmodeeventhandler.BeginInvoke(sender, e, callback, null); }
protected virtual void OnAutoSizeColumnModeChanged(DataGridViewAutoSizeColumnModeEventArgs e);
internal void OnAutoSizeColumnModeChanged(DataGridViewColumn dataGridViewColumn, DataGridViewAutoSizeColumnMode previousInheritedMode) { DataGridViewAutoSizeColumnModeEventArgs e = new DataGridViewAutoSizeColumnModeEventArgs(dataGridViewColumn, previousInheritedMode); this.OnAutoSizeColumnModeChanged(e); }
protected virtual void OnAutoSizeColumnModeChanged(DataGridViewAutoSizeColumnModeEventArgs e) { DataGridViewColumn column = e.Column; if (e.Column == null) { throw new InvalidOperationException(System.Windows.Forms.SR.GetString("InvalidNullArgument", new object[] { "e.Column" })); } DataGridViewAutoSizeColumnMode inheritedAutoSizeMode = column.InheritedAutoSizeMode; DataGridViewAutoSizeColumnMode previousMode = e.PreviousMode; bool flag = ((previousMode != DataGridViewAutoSizeColumnMode.Fill) && (previousMode != DataGridViewAutoSizeColumnMode.None)) && (previousMode != DataGridViewAutoSizeColumnMode.NotSet); if ((inheritedAutoSizeMode == DataGridViewAutoSizeColumnMode.Fill) || (previousMode == DataGridViewAutoSizeColumnMode.Fill)) { this.dataGridViewState2[0x4000000] = true; } bool fixedHeight = (this.autoSizeRowsMode & ((DataGridViewAutoSizeRowsMode) 2)) == DataGridViewAutoSizeRowsMode.None; switch (inheritedAutoSizeMode) { case DataGridViewAutoSizeColumnMode.None: if ((column.Thickness != column.CachedThickness) && flag) { column.ThicknessInternal = Math.Max(column.MinimumWidth, column.CachedThickness); } break; case DataGridViewAutoSizeColumnMode.Fill: break; default: if (!flag) { column.CachedThickness = column.Thickness; } this.AutoResizeColumnInternal(column.Index, (DataGridViewAutoSizeColumnCriteriaInternal) inheritedAutoSizeMode, fixedHeight); break; } this.PerformLayoutPrivate(false, true, true, false); if (!fixedHeight) { this.AdjustShrinkingRows(this.autoSizeRowsMode, true, true); if (this.ColumnHeadersHeightSizeMode == DataGridViewColumnHeadersHeightSizeMode.AutoSize) { this.AutoResizeColumnHeadersHeight(column.Index, true, true); } if ((inheritedAutoSizeMode != DataGridViewAutoSizeColumnMode.None) && (inheritedAutoSizeMode != DataGridViewAutoSizeColumnMode.Fill)) { this.AutoResizeColumnInternal(column.Index, (DataGridViewAutoSizeColumnCriteriaInternal) inheritedAutoSizeMode, true); } } DataGridViewAutoSizeColumnModeEventHandler handler = base.Events[EVENT_DATAGRIDVIEWAUTOSIZECOLUMNMODECHANGED] as DataGridViewAutoSizeColumnModeEventHandler; if (((handler != null) && !this.dataGridViewOper[0x100000]) && !base.IsDisposed) { handler(this, e); } }