Estoy utilizando este código para hacer que mi forma (FormBorderStyle = ninguno) con bordes redondeados:C# formulario con borde personalizado y bordes redondeados
[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));
}
Y esto para establecer un borde personalizado en el 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);
Pero vea esto .
El rectángulo de formulario interior no tiene bordes redondeados.
¿Cómo puedo hacer que el rectángulo azul dentro de la forma tenga el borde redondeado también para que no se vea como la captura de pantalla?