现在的位置: 首页 > 综合 > 正文

c# 圆角界面

2014年01月10日 ⁄ 综合 ⁄ 共 1307字 ⁄ 字号 评论关闭

#region 圆角界面

        public void SetWindowRegion()
        {
            System.Drawing.Drawing2D.GraphicsPath FormPath;

            FormPath = new System.Drawing.Drawing2D.GraphicsPath();

            Rectangle rect = new Rectangle(0, 0, this.Width, this.Height);//this.Left-10,this.Top-10,this.Width-10,this.Height-10);

            FormPath = GetRoundedRectPath(rect, 18);

            this.Region = new Region(FormPath);
        }

        private GraphicsPath GetRoundedRectPath(Rectangle rect, int radius)
        {

            int diameter = radius;

            Rectangle arcRect = new Rectangle(rect.Location, new Size(diameter, diameter));

            GraphicsPath path = new GraphicsPath();

            // 左上角

            path.AddArc(arcRect, 180, 90);

            // 右上角

            arcRect.X = rect.Right - diameter;

            path.AddArc(arcRect, 270, 90);

            // 右下角

            arcRect.Y = rect.Bottom - diameter;

            path.AddArc(arcRect, 0, 90);

            // 左下角

            arcRect.X = rect.Left;

            path.AddArc(arcRect, 90, 90);

            path.CloseFigure();

            return path;

        }

        private void FingerPrintMainForm_Resize(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Normal)
            {
                SetWindowRegion();
            }
            else
            {
                this.Region = null;
            }

        }

        #endregion

【上篇】
【下篇】

抱歉!评论已关闭.