Formulário C # com borda personalizada e bordas arredondadas [duplicado]

Esta pergunta já tem uma resposta aqui:

Como desenhar um retângulo arredondado com WinForms (.NET)? 5 respostas

Estou usando esse código para criar meu formulário (FormBorderStyle = none) com bordas arredondadas:

[DllImport("Gdi32.dll", EntryPoint = "CreateRoundRectRgn")]
private static extern IntPtr CreateRoundRectRgn
(
    int nLeftRect, // x-coordinate of upper-left corner
    int nTopRect, // y-coordinate of upper-left corner
    int nRightRect, // x-coordinate of lower-right corner
    int nBottomRect, // y-coordinate of lower-right corner
    int nWidthEllipse, // height of ellipse
    int nHeightEllipse // width of ellipse
 );

public Form1()
{
    InitializeComponent();
    Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, Width, Height, 20, 20));
}

E isso para definir uma borda personalizada no evento Paint:

    ControlPaint.DrawBorder(e.Graphics, this.ClientRectangle, Color.Black, 5, ButtonBorderStyle.Solid, Color.Black, 5, ButtonBorderStyle.Solid, Color.Black, 5, ButtonBorderStyle.Solid, Color.Black, 5, ButtonBorderStyle.Solid);

Mas veja isso.

O retângulo interno do formulário não possui arestas arredondadas.

Como faço para que o retângulo azul do formulário interno também tenha bordas arredondadas, para que não pareça a captura de tela?

questionAnswers(2)

yourAnswerToTheQuestion