protected override void WndProc(ref Message m) { if (m.Msg == Win32Declarations.WM_NCPAINT && BorderStyle == BorderStyle.FixedSingle) { IntPtr hdc = Win32Declarations.GetWindowDC(Handle); IntPtr brush = Win32Declarations.CreateSolidBrush(Win32Declarations.ColorToRGB(_borderColor)); IntPtr oldBrush = Win32Declarations.SelectObject(hdc, brush); RECT rect = new RECT(0, 0, Width, Height); Win32Declarations.FrameRect(hdc, ref rect, brush); Win32Declarations.SelectObject(hdc, oldBrush); Win32Declarations.DeleteObject(brush); Win32Declarations.ReleaseDC(Handle, hdc); m.Result = IntPtr.Zero; } else { base.WndProc(ref m); } }