WINFROM窗體實現圓角
首先我們先看看效果圖
接下來我們看看怎麼實現
先把窗體的FromBorderStyle屬性改成None。
接下來登入窗體程式碼程式碼:
新增一個窗體Paint事件,引用using System.Drawing.Drawing2D;
private void frmLogin_Paint(object sender, PaintEventArgs e)
{
Type(this, 25, 0.1);
}
private void Type(Control sender, int p_1, double p_2)
{
GraphicsPath oPath = new GraphicsPath();
oPath.AddClosedCurve(new Point[] {
new Point(0, sender.Height / p_1),
new Point(sender.Width / p_1, 0),
new Point(sender.Width - sender.Width / p_1, 0),
new Point(sender.Width, sender.Height / p_1),
new Point(sender.Width, sender.Height - sender.Height / p_1),
new Point(sender.Width - sender.Width / p_1, sender.Height),
new Point(sender.Width / p_1, sender.Height),
new Point(0, sender.Height - sender.Height / p_1) }, (float)p_2);
sender.Region = new Region(oPath);
}
再新增窗體Resize事件
private void frmLogin_Resize(object sender, EventArgs e)
{
Type(this, 25, 0.1);
}