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();
        }