private void queryTabControl_DrawItem(object sender, DrawItemEventArgs e) { var BackBrush = MainFormStyler.GetTabBrush(AppReferences.CurrentTheme); e.Graphics.FillRectangle(BackBrush, queryTabControl.Bounds); queryTabControl.SuspendLayout(); var list = (System.Collections.IList)queryTabControl.TabPages; for (var i = 0; i < list.Count; i++) { var tabRect = queryTabControl.GetTabRect(i); var tabPage = queryTabControl.TabPages[i]; var presenter = tabPage.Tag as QueryWindowPresenter; var brushColor = MainFormStyler.GetTabBackground(AppReferences.CurrentTheme); if (presenter.SelectedConnection != null) { brushColor = Presenter.GetConnectionColor(presenter.SelectedConnection.Name); } using (Brush br = new SolidBrush(brushColor)) { e.Graphics.FillRectangle(br, tabRect); var rect = tabRect; rect.Offset(0, 1); rect.Inflate(0, -1); e.Graphics.DrawRectangle(Pens.DarkGray, rect); e.DrawFocusRectangle(); } tabRect.Inflate(-2, -2); var closeImage = Properties.Resources.closeIcon; e.Graphics.DrawImage(closeImage, (tabRect.Right - 10), tabRect.Top + (tabRect.Height - closeImage.Height) / 2, 10, 10); TextRenderer.DrawText(e.Graphics, tabPage.Text, tabPage.Font, tabRect, Color.Black, TextFormatFlags.Left); } queryTabControl.ResumeLayout(); }