/// ------------------------------------------------------------------------------------ /// <summary> /// /// </summary> /// <param name="disposing"></param> /// ------------------------------------------------------------------------------------ protected override void Dispose(bool disposing) { System.Diagnostics.Debug.WriteLineIf(!disposing, "****** Missing Dispose() call for " + GetType().Name + ". ****** "); if (disposing) { if (m_groups != null) { foreach (RootSiteGroup group in m_groups) { group.Dispose(); } m_groups.Clear(); if (Parent != null && Parent is Form) { ((Form)Parent).Shown -= new EventHandler(OnShown); } // m_grid will be disposed from base class } if (m_activeViewHelper != null) { m_activeViewHelper.Dispose(); } } m_groups = null; m_grid = null; m_StyleSheet = null; m_cache = null; m_activeViewHelper = null; base.Dispose(disposing); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Initializes a new instance of the <see cref="T:SplitGrid"/> class. /// </summary> /// <param name="cache">The cache.</param> /// <param name="styleSheet">The style sheet.</param> /// <param name="columns">The number of columns.</param> /// <param name="rows">The number of rows.</param> /// ------------------------------------------------------------------------------------ public SplitGrid(FdoCache cache, IVwStylesheet styleSheet, int rows, int columns) { m_cache = cache; m_StyleSheet = styleSheet; m_grid = CreateDataGridView(); m_defaultGroup = new RootSiteGroup(this); m_groups.Add(m_defaultGroup); m_activeViewHelper = new ActiveViewHelper(this); BorderStyle = BorderStyle.None; SuspendLayout(); m_grid.Dock = DockStyle.Fill; m_grid.BackgroundColor = SystemColors.Control; m_grid.BorderStyle = BorderStyle.None; m_grid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; m_grid.SelectionMode = DataGridViewSelectionMode.CellSelect; m_grid.RowHeadersVisible = false; m_grid.ColumnHeadersVisible = false; m_grid.AllowUserToAddRows = false; m_grid.AllowUserToDeleteRows = false; m_grid.AllowUserToOrderColumns = false; m_grid.AdvancedCellBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Outset; m_grid.AdvancedCellBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.None; m_grid.ScrollBars = ScrollBars.None; m_grid.RowStateChanged += new DataGridViewRowStateChangedEventHandler(OnRowStateChanged); m_grid.ColumnStateChanged += new DataGridViewColumnStateChangedEventHandler(OnColumnStateChanged); m_grid.MouseDown += new MouseEventHandler(OnGridMouseDown); m_grid.MouseUp += new MouseEventHandler(OnGridMouseUp); m_grid.RowTemplate = new DataGridViewControlRow(); for (int i = 0; i < columns; i++) { DataGridViewControlColumn column = new DataGridViewControlColumn(i == columns - 1); m_grid.Columns.Add(column); } m_MaxRows = rows; Controls.Add(m_grid); ResumeLayout(true); m_grid.BringToFront(); Visible = false; }