吉吉于

C#每天抄一点(8):椭圆窗口

MSDN参考:

1.GraphicsPath.AddEllipse 方法 (Int32, Int32, Int32, Int32)

向当前路径添加一个椭圆。

命名空间: System.Drawing.Drawing2D

程序集: System.Drawing(在 System.Drawing.dll 中)

public void AddEllipse(
	int x,
	int y,
	int width,
	int height
)
参数
x
类型:System.Int32
定义椭圆的边框的左上角的 X 坐标。
y
类型:System.Int32
定义椭圆的边框的左上角的 Y 坐标。
width
类型:System.Int32
定义椭圆的边框的宽度。
height
类型:System.Int32
定义椭圆的边框的高度。
2.Region 构造函数 (GraphicsPath)

用指定的 GraphicsPath 初始化一个新的 Region。
命名空间: System.Drawing
程序集: System.Drawing(在 System.Drawing.dll 中)

此方法使用 GraphicsPath 创建一个新的 Region。 新区域被定义为由 path 参数指定的 GraphicsPath 的内部。

/*
* Created by SharpDevelop.
* User: Lazynight
* Date: 2011/10/10
* Time: 18:58
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Drawing.Drawing2D;namespace Lazy8_椭圆窗口
{public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}void MainFormLoad(object sender, EventArgs e)
{
this.Left=(SystemInformation.PrimaryMonitorMaximizedWindowSize.Width-this.Width)/2; //初始化窗口位置居中
this.Top=(SystemInformation.PrimaryMonitorMaximizedWindowSize.Height-this.Height)/2;
}
private void MainForm_Paint(object sender,PaintEventArgs e)
{
GraphicsPath Lazy=new GraphicsPath();//创建一个路径对象
Lazy.AddEllipse(,,this.Width,this.Height);//使用椭圆构造一个区域,并将此区域作为程序窗体区域
this.Region=new Region(Lazy);
}
private void MainForm_DoubleClick(object sender,EventArgs e)
{
Application.Exit();
}
}
}

下载源码

转载请注明:于哲的博客 » C#每天抄一点(8):椭圆窗口