我正在使用此代码使表单没有边框样式:
this.FormBorderStyle = FormBorderStyle.None;
我需要在表格上制作圆形边缘。
有没有简单的方法?我该怎么做?
我正在使用此代码使表单没有边框样式:
this.FormBorderStyle = FormBorderStyle.None;
我需要在表格上制作圆形边缘。
有没有简单的方法?我该怎么做?
看看这个:http: //msdn.microsoft.com/en-us/library/system.windows.forms.control.region.aspx
Form 类继承自 Control 类,因此请尝试执行与Form 的 Region 属性的链接相同的示例(当然也可以在 form 事件中执行):
// This method will change the square button to a circular button by
// creating a new circle-shaped GraphicsPath object and setting it
// to the RoundButton objects region.
private void roundButton_Paint(object sender,
System.Windows.Forms.PaintEventArgs e)
{
System.Drawing.Drawing2D.GraphicsPath buttonPath =
new System.Drawing.Drawing2D.GraphicsPath();
// Set a new rectangle to the same size as the button's
// ClientRectangle property.
System.Drawing.Rectangle newRectangle = roundButton.ClientRectangle;
// Decrease the size of the rectangle.
newRectangle.Inflate(-10, -10);
// Draw the button's border.
e.Graphics.DrawEllipse(System.Drawing.Pens.Black, newRectangle);
// Increase the size of the rectangle to include the border.
newRectangle.Inflate( 1, 1);
// Create a circle within the new rectangle.
buttonPath.AddEllipse(newRectangle);
// Set the button's Region property to the newly created
// circle region.
roundButton.Region = new System.Drawing.Region(buttonPath);
}
public static void RoundBorderForm(Form frm)
{
Rectangle Bounds = new Rectangle(0, 0, frm.Width, frm.Height);
int CornerRadius = 20;
System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddArc(Bounds.X, Bounds.Y, CornerRadius, CornerRadius, 180, 90);
path.AddArc(Bounds.X + Bounds.Width - CornerRadius, Bounds.Y, CornerRadius, CornerRadius, 270, 90);
path.AddArc(Bounds.X + Bounds.Width - CornerRadius, Bounds.Y + Bounds.Height - CornerRadius, CornerRadius, CornerRadius, 0, 90);
path.AddArc(Bounds.X, Bounds.Y + Bounds.Height - CornerRadius, CornerRadius, CornerRadius, 90, 90);
path.CloseAllFigures();
frm.Region = new Region(path);
frm.Show();
}
我知道这个问题已经得到解答,我想添加一个替代方案和愚蠢但不是真正推荐的做法,因为您的问题不会将答案限制为代码......
TransparencyKey
表单上的PictureBox
并将它们放在相应的角落中提琴!