You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.8 KiB
C#
66 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Drawing.Drawing2D;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
namespace POSV.Bills
|
|
{
|
|
public partial class PayForm : BusinessForm
|
|
{
|
|
public PayForm()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
|
|
private void Form1_Resize(object sender, EventArgs e)
|
|
{
|
|
SetWindowRegion();
|
|
}
|
|
|
|
public void SetWindowRegion()
|
|
{
|
|
System.Drawing.Drawing2D.GraphicsPath FormPath;
|
|
FormPath = new System.Drawing.Drawing2D.GraphicsPath();
|
|
Rectangle rect = new Rectangle(0, 0, this.Width, this.Height);
|
|
FormPath = GetRoundedRectPath(rect, 10);
|
|
this.Region = new Region(FormPath);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 圆角
|
|
/// </summary>
|
|
/// <param name="rect">窗体大小</param>
|
|
/// <param name="radius">圆角大小</param>
|
|
/// <returns></returns>
|
|
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, 280, 90);
|
|
|
|
// 右下角
|
|
arcRect.Y = rect.Bottom - diameter;
|
|
path.AddArc(arcRect, 0, 90);
|
|
|
|
// 左下角
|
|
arcRect.X = rect.Left;
|
|
path.AddArc(arcRect, 90, 90);
|
|
path.CloseFigure();//闭合曲线
|
|
return path;
|
|
}
|
|
}
|
|
}
|