protected override void OnPaint(PaintEventArgs e) { // Background e.Graphics.FillRectangle(SystemBrushes.Control, 2, 2, ClientRectangle.Width - 4, ClientRectangle.Height - 4); // Border /* * Borders drawing sequence: * # dark-dark # @ dark # L lightlight # # @ @@@@@@@@@@@@@@-1-@@@@@@@@@@@@@@@@@L # @ L # @ L LLLLLLLLLLL-5-LLLLLLLLLLLLLL# L # @ L # L | | | | | 2 6 8 4 | | | | | @ L L | @ #############-7-############### L | @ | LLLLLLLLLLLLLLLL-3-LLLLLLLLLLLLLLLLLL | */ Rectangle rc = ClientRectangle; // Outer e.Graphics.DrawLine(SystemPens.ControlDark, rc.Left + 1, rc.Top + 0, rc.Right - 2, rc.Top + 0); // 1 e.Graphics.DrawLine(SystemPens.ControlDark, rc.Left + 0, rc.Top + 0, rc.Left + 0, rc.Bottom - 2); // 2 e.Graphics.DrawLine(SystemPens.ControlLightLight, rc.Left + 0, rc.Bottom - 1, rc.Right - 1, rc.Bottom - 1); // 3 e.Graphics.DrawLine(SystemPens.ControlLightLight, rc.Right - 1, rc.Top + 0, rc.Right - 1, rc.Bottom - 2); // 4 // Inner e.Graphics.DrawLine(SystemPens.ControlLightLight, rc.Left + 2, rc.Top + 1, rc.Right - 3, rc.Top + 1); // 5 e.Graphics.DrawLine(SystemPens.ControlLightLight, rc.Left + 1, rc.Top + 1, rc.Left + 1, rc.Bottom - 3); // 6 e.Graphics.DrawLine(SystemPens.ControlDarkDark, rc.Left + 1, rc.Bottom - 2, rc.Right - 2, rc.Bottom - 2); // 7 e.Graphics.DrawLine(SystemPens.ControlDarkDark, rc.Right - 2, rc.Top + 1, rc.Right - 2, rc.Bottom - 3); // 8 // Paint the grip _grip.OnPaint(e.Graphics); // Paint the title (if visisble) if (_rectTitle != Rectangle.Empty) { JetLinkLabel.DrawText(e.Graphics, Text, _rectTitle, Font, SystemColors.ControlText, DrawTextFormatFlags.DT_CENTER | DrawTextFormatFlags.DT_NOPREFIX | DrawTextFormatFlags.DT_SINGLELINE | DrawTextFormatFlags.DT_VCENTER); } // Paint the no-items-banner (if visisble) if (_rectNoItemsBanner != Rectangle.Empty) { JetLinkLabel.DrawText(e.Graphics, _sNoItemsBanner, _rectNoItemsBanner, _fontNoItemsBanner, SystemColors.ControlText, _dtfNoItemsBannerFormatFlags); } }