/// <inheritdoc /> protected override void OnShowDataView(IDataView dataView, EViewPosition viewPosition) { // Visual root element DockContent dataViewDockContent = new DockContent(); // Let the view create its content GridPanel gridPanel = new GridPanel { Dock = DockStyle.Fill }; dataView.CreateContents(gridPanel); // Place into a dock content dataViewDockContent.Controls.Add(gridPanel); // Provide a tool bar ToolBar dataViewToolBar = new ToolBar(); dataView.ConfigureToolBar(dataViewToolBar); // Only add the tool bar if any item has been added if (dataViewToolBar.Items.Count != 0) { // Add ToolStripContainer to the top of the perspective ToolStripContainer toolStripContainer = new ToolStripContainer { Dock = DockStyle.Top }; toolStripContainer.TopToolStripPanel.Controls.Add(dataViewToolBar); // Add the tool bar to the controls dataViewDockContent.Controls.Add(dataViewToolBar); } // Set up properties dataViewDockContent.TabText = dataView.Name; ImageDescriptor imageDescriptor = dataView.Image; if (imageDescriptor != null) { using (Bitmap tmpBitmap = new Bitmap(imageDescriptor.ImageStream)) { IntPtr intPtr = tmpBitmap.GetHicon(); using (Icon tmpIcon = Icon.FromHandle(intPtr)) { dataViewDockContent.Icon = tmpIcon; dataViewDockContent.ShowIcon = true; } } } // Make it visible DockState dockState = ConvertToDockState(viewPosition); dataViewDockContent.Show(iDockPanel, dockState); }