#pragma warning restore 0414 #endif /// <include file='doc\DataGridView.uex' path='docs/doc[@for="DataGridView.DataGridView"]/*' /> /// <devdoc> /// <para>Initializes a new instance of the <see cref='System.Windows.Forms.DataGridView'/> class.</para> /// </devdoc> public DataGridView() { SetStyle(ControlStyles.UserPaint | ControlStyles.Opaque | ControlStyles.UserMouse, true); SetStyle(ControlStyles.SupportsTransparentBackColor, false); // this class overrides GetPreferredSizeCore, let Control automatically cache the result SetState2(STATE2_USEPREFERREDSIZECACHE, true); this.dataGridViewState1 = new System.Collections.Specialized.BitVector32(0x00000000); this.dataGridViewState2 = new System.Collections.Specialized.BitVector32(0x00000000); this.dataGridViewOper = new System.Collections.Specialized.BitVector32(0x00000000); this.dataGridViewState1[ DATAGRIDVIEWSTATE1_columnHeadersVisible | DATAGRIDVIEWSTATE1_rowHeadersVisible | DATAGRIDVIEWSTATE1_autoGenerateColumns | DATAGRIDVIEWSTATE1_allowUserToAddRows | DATAGRIDVIEWSTATE1_allowUserToDeleteRows ] = true; this.dataGridViewState2[ DATAGRIDVIEWSTATE2_showEditingIcon | DATAGRIDVIEWSTATE2_enableHeadersVisualStyles | DATAGRIDVIEWSTATE2_mouseEnterExpected | DATAGRIDVIEWSTATE2_allowUserToResizeColumns | DATAGRIDVIEWSTATE2_allowUserToResizeRows | DATAGRIDVIEWSTATE2_showCellToolTips | DATAGRIDVIEWSTATE2_showCellErrors | DATAGRIDVIEWSTATE2_showRowErrors | DATAGRIDVIEWSTATE2_allowHorizontalScrollbar | DATAGRIDVIEWSTATE2_usedFillWeightsDirty ] = true; this.displayedBandsInfo = new DisplayedBandsData(); this.lstRows = new ArrayList(); this.converters = new Hashtable(8); this.pens = new Hashtable(8); this.brushes = new Hashtable(10); this.gridPen = new Pen(DefaultGridColor); this.selectedBandIndexes = new DataGridViewIntLinkedList(); this.individualSelectedCells = new DataGridViewCellLinkedList(); this.individualReadOnlyCells = new DataGridViewCellLinkedList(); this.advancedCellBorderStyle = new DataGridViewAdvancedBorderStyle(this, DataGridViewAdvancedCellBorderStyle.OutsetDouble, DataGridViewAdvancedCellBorderStyle.OutsetPartial, DataGridViewAdvancedCellBorderStyle.InsetDouble); this.advancedRowHeadersBorderStyle = new DataGridViewAdvancedBorderStyle(this); this.advancedColumnHeadersBorderStyle = new DataGridViewAdvancedBorderStyle(this); this.advancedCellBorderStyle.All = defaultAdvancedCellBorderStyle; this.advancedRowHeadersBorderStyle.All = defaultAdvancedRowHeadersBorderStyle; this.advancedColumnHeadersBorderStyle.All = defaultAdvancedColumnHeadersBorderStyle; this.borderStyle = defaultBorderStyle; this.dataGridViewState1[DATAGRIDVIEWSTATE1_multiSelect] = true; this.selectionMode = defaultSelectionMode; this.editMode = defaultEditMode; this.autoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; this.autoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None; this.columnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing; this.rowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing; this.clipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithAutoHeaderText; this.layout = new LayoutData(); this.layout.TopLeftHeader = Rectangle.Empty; this.layout.ColumnHeaders = Rectangle.Empty; this.layout.RowHeaders = Rectangle.Empty; this.layout.ColumnHeadersVisible = true; this.layout.RowHeadersVisible = true; this.layout.ClientRectangle = this.ClientRectangle; this.scrollBars = ScrollBars.Both; this.horizScrollBar.RightToLeft = RightToLeft.Inherit; this.horizScrollBar.AccessibleName = SR.GetString(SR.DataGridView_AccHorizontalScrollBarAccName); this.horizScrollBar.Top = this.ClientRectangle.Height - horizScrollBar.Height; this.horizScrollBar.Left = 0; this.horizScrollBar.Visible = false; this.horizScrollBar.Scroll += new ScrollEventHandler(DataGridViewHScrolled); this.Controls.Add(this.horizScrollBar); this.vertScrollBar.Top = 0; this.vertScrollBar.AccessibleName = SR.GetString(SR.DataGridView_AccVerticalScrollBarAccName); this.vertScrollBar.Left = this.ClientRectangle.Width - vertScrollBar.Width; this.vertScrollBar.Visible = false; this.vertScrollBar.Scroll += new ScrollEventHandler(DataGridViewVScrolled); this.Controls.Add(this.vertScrollBar); this.ptCurrentCell = new Point(-1, -1); this.ptAnchorCell = new Point(-1, -1); this.ptMouseDownCell = new Point(-2, -2); this.ptMouseEnteredCell = new Point(-2, -2); this.ptToolTipCell = new Point(-1, -1); this.ptMouseDownGridCoord = new Point(-1, -1); this.sortOrder = SortOrder.None; this.lastMouseClickInfo.timeStamp = 0; WireScrollBarsEvents(); PerformLayout(); this.toolTipControl = new DataGridViewToolTip(this); Invalidate(); }
public void AutoResizeRowHeadersWidth (int rowIndex, DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode) { AutoResizeRowHeadersWidth (rowHeadersWidthSizeMode); }
protected void AutoResizeRowHeadersWidth (int rowIndex, DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode, bool fixedColumnHeadersHeight, bool fixedRowHeight) { AutoResizeRowHeadersWidth (rowHeadersWidthSizeMode); }
public DataGridView () { SetStyle (ControlStyles.Opaque, true); //SetStyle (ControlStyles.UserMouse, true); SetStyle (ControlStyles.OptimizedDoubleBuffer, true); adjustedTopLeftHeaderBorderStyle = new DataGridViewAdvancedBorderStyle(); adjustedTopLeftHeaderBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Single; advancedCellBorderStyle = new DataGridViewAdvancedBorderStyle(); advancedCellBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Single; advancedColumnHeadersBorderStyle = new DataGridViewAdvancedBorderStyle(); advancedColumnHeadersBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Single; advancedRowHeadersBorderStyle = new DataGridViewAdvancedBorderStyle(); advancedRowHeadersBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Single; alternatingRowsDefaultCellStyle = new DataGridViewCellStyle(); allowUserToAddRows = true; allowUserToDeleteRows = true; allowUserToOrderColumns = false; allowUserToResizeColumns = true; allowUserToResizeRows = true; autoGenerateColumns = true; autoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None; autoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; backColor = Control.DefaultBackColor; backgroundColor = SystemColors.AppWorkspace; borderStyle = BorderStyle.FixedSingle; cellBorderStyle = DataGridViewCellBorderStyle.Single; clipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithAutoHeaderText; columnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single; columnHeadersDefaultCellStyle = new DataGridViewCellStyle(); columnHeadersDefaultCellStyle.BackColor = SystemColors.Control; columnHeadersDefaultCellStyle.ForeColor = SystemColors.WindowText; columnHeadersDefaultCellStyle.SelectionBackColor = SystemColors.Highlight; columnHeadersDefaultCellStyle.SelectionForeColor = SystemColors.HighlightText; columnHeadersDefaultCellStyle.Font = this.Font; columnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft; columnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.True; columnHeadersHeight = 23; columnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing; columnHeadersVisible = true; columns = CreateColumnsInstance(); columns.CollectionChanged += OnColumnCollectionChanged; currentCellAddress = new Point (-1, -1); dataMember = String.Empty; defaultCellStyle = new DataGridViewCellStyle(); defaultCellStyle.BackColor = SystemColors.Window; defaultCellStyle.ForeColor = SystemColors.ControlText; defaultCellStyle.SelectionBackColor = SystemColors.Highlight; defaultCellStyle.SelectionForeColor = SystemColors.HighlightText; defaultCellStyle.Font = this.Font; defaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft; defaultCellStyle.WrapMode = DataGridViewTriState.False; editMode = DataGridViewEditMode.EditOnKeystrokeOrF2; firstDisplayedScrollingColumnHiddenWidth = 0; isCurrentCellDirty = false; multiSelect = true; readOnly = false; rowHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single; rowHeadersDefaultCellStyle = (DataGridViewCellStyle) columnHeadersDefaultCellStyle.Clone (); rowHeadersVisible = true; rowHeadersWidth = 41; rowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing; rows = CreateRowsInstance(); rowsDefaultCellStyle = new DataGridViewCellStyle(); selectionMode = DataGridViewSelectionMode.RowHeaderSelect; showCellErrors = true; showEditingIcon = true; scrollBars = ScrollBars.Both; userSetCursor = Cursor.Current; virtualMode = false; horizontalScrollBar = new HScrollBar(); horizontalScrollBar.Scroll += OnHScrollBarScroll; horizontalScrollBar.Visible = false; verticalScrollBar = new VScrollBar(); verticalScrollBar.Scroll += OnVScrollBarScroll; verticalScrollBar.Visible = false; Controls.AddRange (new Control[] {horizontalScrollBar, verticalScrollBar}); }
public void AutoResizeRowHeadersWidth (DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode) { if (rowHeadersWidthSizeMode == DataGridViewRowHeadersWidthSizeMode.AutoSizeToFirstHeader) { RowHeadersWidth = GetRowInternal (0).HeaderCell.PreferredSize.Width; return; } int new_width = 0; if (rowHeadersWidthSizeMode == DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders) { foreach (DataGridViewRow row in Rows) if (row.Displayed) new_width = Math.Max (new_width, row.HeaderCell.PreferredSize.Width); if (RowHeadersWidth != new_width) RowHeadersWidth = new_width; return; } if (rowHeadersWidthSizeMode == DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders) { foreach (DataGridViewRow row in Rows) new_width = Math.Max (new_width, row.HeaderCell.PreferredSize.Width); if (RowHeadersWidth != new_width) RowHeadersWidth = new_width; return; } }
/// <include file='doc\DataGridView.uex' path='docs/doc[@for="DataGridView.AutoResizeRowHeadersWidth4"]/*' /> protected void AutoResizeRowHeadersWidth(int rowIndex, DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode, bool fixedColumnHeadersHeight, bool fixedRowHeight) { if (rowIndex < -1 || rowIndex >= this.Rows.Count) { throw new ArgumentOutOfRangeException("rowIndex"); } if (rowHeadersWidthSizeMode == DataGridViewRowHeadersWidthSizeMode.EnableResizing || rowHeadersWidthSizeMode == DataGridViewRowHeadersWidthSizeMode.DisableResizing) { throw new ArgumentException(SR.GetString(SR.DataGridView_NeedAutoSizingCriteria, "rowHeadersWidthSizeMode")); } if (rowHeadersWidthSizeMode < DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders || rowHeadersWidthSizeMode > DataGridViewRowHeadersWidthSizeMode.AutoSizeToFirstHeader) { throw new InvalidEnumArgumentException("rowHeadersWidthSizeMode", (int)rowHeadersWidthSizeMode, typeof(DataGridViewRowHeadersWidthSizeMode)); } if (!this.RowHeadersVisible) { return; } if (rowHeadersWidthSizeMode == DataGridViewRowHeadersWidthSizeMode.AutoSizeToFirstHeader && rowIndex != -1 && rowIndex != this.Rows.GetFirstRow(DataGridViewElementStates.Visible)) { return; } if (rowHeadersWidthSizeMode == DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders && rowIndex != -1) { DataGridViewElementStates rowState = this.Rows.GetRowState(rowIndex); bool rowDisplayed = (rowState & DataGridViewElementStates.Displayed) != 0; if (!rowDisplayed) { return; } } if (!this.IsHandleCreated) { // auto sizing causes handle creation. // don't create the handle inside InitializeComponent because that causes problems w/ data binding this.dataGridViewState2[DATAGRIDVIEWSTATE2_autoSizedWithoutHandle] = true; return; } try { this.noAutoSizeCount++; // Use of WindowsFormsUtils.CreateMeasurementGraphics() avoid use of this.Handle // IntPtr handle = this.Handle; // Force creation of control's handle because for databound grids, handle creation wipes out and recreates the columns/rows. int preferredWidth = 0, rowIndexTmp; if (this.layout.TopLeftHeader.Width > 0) { if (rowIndex != -1 || fixedColumnHeadersHeight) { preferredWidth = this.TopLeftHeaderCell.GetPreferredWidth(-1, this.layout.TopLeftHeader.Height); } else { preferredWidth = this.TopLeftHeaderCell.GetPreferredSize(-1).Width; } } switch (rowHeadersWidthSizeMode) { case DataGridViewRowHeadersWidthSizeMode.AutoSizeToFirstHeader: { rowIndexTmp = this.Rows.GetFirstRow(DataGridViewElementStates.Visible); if (rowIndexTmp != -1) { if (rowIndex != rowIndexTmp || fixedRowHeight) { preferredWidth = Math.Max(preferredWidth, this.Rows.SharedRow(rowIndexTmp).HeaderCell.GetPreferredWidth(rowIndexTmp, this.Rows.SharedRow(rowIndexTmp).GetHeight(rowIndexTmp))); } else { preferredWidth = Math.Max(preferredWidth, this.Rows.SharedRow(rowIndexTmp).HeaderCell.GetPreferredSize(rowIndexTmp).Width); } } break; } case DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders: { int displayHeight = this.layout.Data.Height, cy = 0; rowIndexTmp = this.Rows.GetFirstRow(DataGridViewElementStates.Visible | DataGridViewElementStates.Frozen); while (rowIndexTmp != -1 && cy < displayHeight) { DataGridViewRow dataGridViewRow = this.Rows.SharedRow(rowIndexTmp); int dataGridViewRowHeight = dataGridViewRow.GetHeight(rowIndexTmp); cy += dataGridViewRowHeight; if (rowIndex != rowIndexTmp || fixedRowHeight) { preferredWidth = Math.Max(preferredWidth, dataGridViewRow.HeaderCell.GetPreferredWidth(rowIndexTmp, dataGridViewRowHeight)); } else { preferredWidth = Math.Max(preferredWidth, dataGridViewRow.HeaderCell.GetPreferredSize(rowIndexTmp).Width); } rowIndexTmp = this.Rows.GetNextRow(rowIndexTmp, DataGridViewElementStates.Visible | DataGridViewElementStates.Frozen); } if (cy < displayHeight) { rowIndexTmp = this.displayedBandsInfo.FirstDisplayedScrollingRow; while (rowIndexTmp != -1 && cy < displayHeight) { DataGridViewRow dataGridViewRow = this.Rows.SharedRow(rowIndexTmp); int dataGridViewRowHeight = dataGridViewRow.GetHeight(rowIndexTmp); cy += dataGridViewRowHeight; if (rowIndex != rowIndexTmp || fixedRowHeight) { preferredWidth = Math.Max(preferredWidth, dataGridViewRow.HeaderCell.GetPreferredWidth(rowIndexTmp, dataGridViewRowHeight)); } else { preferredWidth = Math.Max(preferredWidth, dataGridViewRow.HeaderCell.GetPreferredSize(rowIndexTmp).Width); } rowIndexTmp = this.Rows.GetNextRow(rowIndexTmp, DataGridViewElementStates.Visible); } } break; } case DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders: { for (rowIndexTmp = this.Rows.GetFirstRow(DataGridViewElementStates.Visible); rowIndexTmp != -1; rowIndexTmp = this.Rows.GetNextRow(rowIndexTmp, DataGridViewElementStates.Visible)) { if (rowIndex != rowIndexTmp || fixedRowHeight) { preferredWidth = Math.Max(preferredWidth, this.Rows.SharedRow(rowIndexTmp).HeaderCell.GetPreferredWidth(rowIndexTmp, this.Rows.SharedRow(rowIndexTmp).GetHeight(rowIndexTmp))); } else { preferredWidth = Math.Max(preferredWidth, this.Rows.SharedRow(rowIndexTmp).HeaderCell.GetPreferredSize(rowIndexTmp).Width); } } break; } default: { Debug.Fail("Unexpected rowHeadersWidthSizeMode value in AutoResizeRowHeadersWidth"); break; } } if (preferredWidth < minimumRowHeadersWidth) { preferredWidth = minimumRowHeadersWidth; } if (preferredWidth != this.RowHeadersWidth) { this.RowHeadersWidthInternal = preferredWidth; } } finally { Debug.Assert(this.noAutoSizeCount > 0); this.noAutoSizeCount--; } }
public static void Set_RowHeadersWidthSizeMode(this UpgradeHelpers.BasicViewModels.DataGridViewViewModel _DataGridView, DataGridViewRowHeadersWidthSizeMode RowHeadersWidthSizeMode) { throw new NotImplementedException("This is an automatic generated code, please implement the requested logic."); }
public void AutoResizeRowHeadersWidth (DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode) { if (rowHeadersWidthSizeMode == DataGridViewRowHeadersWidthSizeMode.AutoSizeToFirstHeader) { RowHeadersWidth = GetRowInternal (0).HeaderCell.PreferredSize.Width; return; } int new_width = 0; if (rowHeadersWidthSizeMode == DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders) { bool anyRowsDisplayed = false; foreach(DataGridViewRow row in Rows) if(row.Displayed) { anyRowsDisplayed = true; new_width = Math.Max (new_width, row.HeaderCell.PreferredSize.Width); } // if there are no rows which are displayed, we still have to set new_width // to a value >= 4 as RowHeadersWidth will throw an exception otherwise if(!anyRowsDisplayed) { foreach (DataGridViewRow row in Rows) new_width = Math.Max (new_width, row.HeaderCell.PreferredSize.Width); } if (RowHeadersWidth != new_width) RowHeadersWidth = new_width; return; } if (rowHeadersWidthSizeMode == DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders) { foreach (DataGridViewRow row in Rows) new_width = Math.Max (new_width, row.HeaderCell.PreferredSize.Width); if (RowHeadersWidth != new_width) RowHeadersWidth = new_width; return; } }
/// <include file='doc\DataGridView.uex' path='docs/doc[@for="DataGridView.AutoResizeRowHeadersWidth3"]/*' /> public void AutoResizeRowHeadersWidth(int rowIndex, DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode) { AutoResizeRowHeadersWidth(rowIndex, rowHeadersWidthSizeMode, true /*fixedColumnHeadersHeight*/, true /*fixedRowHeight*/); }
public void AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode);
protected void AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode, bool fixedColumnHeadersHeight, bool fixedRowsHeight);
public void AutoResizeRowHeadersWidth(int rowIndex, DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode) { }
public void AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode) { }
protected void AutoResizeRowHeadersWidth(int rowIndex, DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode, bool fixedColumnHeadersHeight, bool fixedRowHeight) { if ((rowIndex < -1) || (rowIndex >= this.Rows.Count)) { throw new ArgumentOutOfRangeException("rowIndex"); } if ((rowHeadersWidthSizeMode == DataGridViewRowHeadersWidthSizeMode.EnableResizing) || (rowHeadersWidthSizeMode == DataGridViewRowHeadersWidthSizeMode.DisableResizing)) { throw new ArgumentException(System.Windows.Forms.SR.GetString("DataGridView_NeedAutoSizingCriteria", new object[] { "rowHeadersWidthSizeMode" })); } if ((rowHeadersWidthSizeMode < DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders) || (rowHeadersWidthSizeMode > DataGridViewRowHeadersWidthSizeMode.AutoSizeToFirstHeader)) { throw new InvalidEnumArgumentException("rowHeadersWidthSizeMode", (int) rowHeadersWidthSizeMode, typeof(DataGridViewRowHeadersWidthSizeMode)); } if (this.RowHeadersVisible && ((((rowHeadersWidthSizeMode != DataGridViewRowHeadersWidthSizeMode.AutoSizeToFirstHeader) || (rowIndex == -1)) || (rowIndex == this.Rows.GetFirstRow(DataGridViewElementStates.Visible))) && (((rowHeadersWidthSizeMode != DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders) || (rowIndex == -1)) || ((this.Rows.GetRowState(rowIndex) & DataGridViewElementStates.Displayed) != DataGridViewElementStates.None)))) { if (!base.IsHandleCreated) { this.dataGridViewState2[0x100000] = true; } else { try { int nextRow; int num3; int num4; DataGridViewRow row; this.noAutoSizeCount++; int preferredWidth = 0; if (this.layout.TopLeftHeader.Width > 0) { if ((rowIndex != -1) || fixedColumnHeadersHeight) { preferredWidth = this.TopLeftHeaderCell.GetPreferredWidth(-1, this.layout.TopLeftHeader.Height); } else { preferredWidth = this.TopLeftHeaderCell.GetPreferredSize(-1).Width; } } switch (rowHeadersWidthSizeMode) { case DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders: nextRow = this.Rows.GetFirstRow(DataGridViewElementStates.Visible); goto Label_036C; case DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders: num3 = this.layout.Data.Height; num4 = 0; nextRow = this.Rows.GetFirstRow(DataGridViewElementStates.Visible | DataGridViewElementStates.Frozen); goto Label_024E; case DataGridViewRowHeadersWidthSizeMode.AutoSizeToFirstHeader: nextRow = this.Rows.GetFirstRow(DataGridViewElementStates.Visible); if (nextRow != -1) { if ((rowIndex == nextRow) && !fixedRowHeight) { break; } preferredWidth = Math.Max(preferredWidth, this.Rows.SharedRow(nextRow).HeaderCell.GetPreferredWidth(nextRow, this.Rows.SharedRow(nextRow).GetHeight(nextRow))); } goto Label_0370; default: goto Label_0370; } preferredWidth = Math.Max(preferredWidth, this.Rows.SharedRow(nextRow).HeaderCell.GetPreferredSize(nextRow).Width); goto Label_0370; Label_01E3: row = this.Rows.SharedRow(nextRow); int height = row.GetHeight(nextRow); num4 += height; if ((rowIndex != nextRow) || fixedRowHeight) { preferredWidth = Math.Max(preferredWidth, row.HeaderCell.GetPreferredWidth(nextRow, height)); } else { preferredWidth = Math.Max(preferredWidth, row.HeaderCell.GetPreferredSize(nextRow).Width); } nextRow = this.Rows.GetNextRow(nextRow, DataGridViewElementStates.Visible | DataGridViewElementStates.Frozen); Label_024E: if ((nextRow != -1) && (num4 < num3)) { goto Label_01E3; } if (num4 < num3) { nextRow = this.displayedBandsInfo.FirstDisplayedScrollingRow; while ((nextRow != -1) && (num4 < num3)) { DataGridViewRow row2 = this.Rows.SharedRow(nextRow); int num6 = row2.GetHeight(nextRow); num4 += num6; if ((rowIndex != nextRow) || fixedRowHeight) { preferredWidth = Math.Max(preferredWidth, row2.HeaderCell.GetPreferredWidth(nextRow, num6)); } else { preferredWidth = Math.Max(preferredWidth, row2.HeaderCell.GetPreferredSize(nextRow).Width); } nextRow = this.Rows.GetNextRow(nextRow, DataGridViewElementStates.Visible); } } goto Label_0370; Label_02FC: if ((rowIndex != nextRow) || fixedRowHeight) { preferredWidth = Math.Max(preferredWidth, this.Rows.SharedRow(nextRow).HeaderCell.GetPreferredWidth(nextRow, this.Rows.SharedRow(nextRow).GetHeight(nextRow))); } else { preferredWidth = Math.Max(preferredWidth, this.Rows.SharedRow(nextRow).HeaderCell.GetPreferredSize(nextRow).Width); } nextRow = this.Rows.GetNextRow(nextRow, DataGridViewElementStates.Visible); Label_036C: if (nextRow != -1) { goto Label_02FC; } Label_0370: if (preferredWidth < 4) { preferredWidth = 4; } if (preferredWidth != this.RowHeadersWidth) { this.RowHeadersWidthInternal = preferredWidth; } } finally { this.noAutoSizeCount--; } } } }
public void AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode) { this.AutoResizeRowHeadersWidth(rowHeadersWidthSizeMode, true, true); }
public DataGridView() { base.SetStyle(ControlStyles.UserMouse | ControlStyles.Opaque | ControlStyles.UserPaint, true); base.SetStyle(ControlStyles.SupportsTransparentBackColor, false); base.SetState2(0x800, true); this.dataGridViewState1 = new BitVector32(0); this.dataGridViewState2 = new BitVector32(0); this.dataGridViewOper = new BitVector32(0); this.dataGridViewState1[0x80001b] = true; this.dataGridViewState2[0x60003e7] = true; this.displayedBandsInfo = new DisplayedBandsData(); this.lstRows = new ArrayList(); this.converters = new Hashtable(8); this.pens = new Hashtable(8); this.brushes = new Hashtable(10); this.gridPen = new Pen(DefaultGridColor); this.selectedBandIndexes = new DataGridViewIntLinkedList(); this.individualSelectedCells = new DataGridViewCellLinkedList(); this.individualReadOnlyCells = new DataGridViewCellLinkedList(); this.advancedCellBorderStyle = new DataGridViewAdvancedBorderStyle(this, DataGridViewAdvancedCellBorderStyle.OutsetDouble, DataGridViewAdvancedCellBorderStyle.OutsetPartial, DataGridViewAdvancedCellBorderStyle.InsetDouble); this.advancedRowHeadersBorderStyle = new DataGridViewAdvancedBorderStyle(this); this.advancedColumnHeadersBorderStyle = new DataGridViewAdvancedBorderStyle(this); this.advancedCellBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Single; this.advancedRowHeadersBorderStyle.All = DataGridViewAdvancedCellBorderStyle.OutsetPartial; this.advancedColumnHeadersBorderStyle.All = DataGridViewAdvancedCellBorderStyle.OutsetPartial; this.borderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.dataGridViewState1[0x80] = true; this.selectionMode = DataGridViewSelectionMode.RowHeaderSelect; this.editMode = DataGridViewEditMode.EditOnKeystrokeOrF2; this.autoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; this.autoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None; this.columnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing; this.rowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing; this.clipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithAutoHeaderText; this.layout = new LayoutData(); this.layout.TopLeftHeader = Rectangle.Empty; this.layout.ColumnHeaders = Rectangle.Empty; this.layout.RowHeaders = Rectangle.Empty; this.layout.ColumnHeadersVisible = true; this.layout.RowHeadersVisible = true; this.layout.ClientRectangle = base.ClientRectangle; this.scrollBars = System.Windows.Forms.ScrollBars.Both; this.horizScrollBar.RightToLeft = RightToLeft.Inherit; this.horizScrollBar.AccessibleName = System.Windows.Forms.SR.GetString("DataGridView_AccHorizontalScrollBarAccName"); this.horizScrollBar.Top = base.ClientRectangle.Height - this.horizScrollBar.Height; this.horizScrollBar.Left = 0; this.horizScrollBar.Visible = false; this.horizScrollBar.Scroll += new ScrollEventHandler(this.DataGridViewHScrolled); base.Controls.Add(this.horizScrollBar); this.vertScrollBar.Top = 0; this.vertScrollBar.AccessibleName = System.Windows.Forms.SR.GetString("DataGridView_AccVerticalScrollBarAccName"); this.vertScrollBar.Left = base.ClientRectangle.Width - this.vertScrollBar.Width; this.vertScrollBar.Visible = false; this.vertScrollBar.Scroll += new ScrollEventHandler(this.DataGridViewVScrolled); base.Controls.Add(this.vertScrollBar); this.ptCurrentCell = new Point(-1, -1); this.ptAnchorCell = new Point(-1, -1); this.ptMouseDownCell = new Point(-2, -2); this.ptMouseEnteredCell = new Point(-2, -2); this.ptToolTipCell = new Point(-1, -1); this.ptMouseDownGridCoord = new Point(-1, -1); this.sortOrder = System.Windows.Forms.SortOrder.None; this.lastMouseClickInfo.timeStamp = 0L; this.WireScrollBarsEvents(); base.PerformLayout(); this.toolTipControl = new DataGridViewToolTip(this); base.Invalidate(); }