Вопрос Как сделать закругленные углы в winforms C# ?

Начинающий
Статус
Оффлайн
Регистрация
27 Июн 2021
Сообщения
3
Реакции[?]
0
Поинты[?]
0
maxresdefault.jpg
Как сделать закругленные углы ?
Вот такие
Screenshot_1.png
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
Можно изменять Region формы после ее инициализации:
C#:
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        [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, // width of ellipse
            int nHeightEllipse // height of ellipse
        );

        public Form1()
        {
            InitializeComponent();
            this.FormBorderStyle = FormBorderStyle.None;
            Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, Width, Height, 20, 20));
        }
    }
}
Однако, сглаживание закругленных углов все равно будет оставлять желать лучшего. Все же, для сложного дизайна приложений я рекомендую использовать WPF.
 
Сверху Снизу