您的位置:首页 - 教程 - WinForm - 正文
C#使用Graphics画圆

用VS建立Windosw Form,然后设置窗体的Paint事件,如下图所示:


在Form1_Paint中输入画圆代码

完整的代码如下:

using System.Drawing;
using System.Windows.Forms;

namespace HoverTreeMyTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = CreateGraphics();
Rectangle rect = new Rectangle(ClientRectangle.Width / 2 - 80, ClientRectangle.Height / 2 - 80, 160, 160);
Pen p = new Pen(Color.Black);
g.DrawEllipse(p, rect);
Brush b = new SolidBrush(Color.Black);
g.FillEllipse(b, rect);
}
}
}

运行效果:

也可以不设置Paint事件方法,直接重写OnPaint,代码如下:

using System.Drawing;
using System.Windows.Forms;

namespace HoverTreeMyTest
{
/// <summary>
/// http://hovertree.com/h/bjaf/ehdcn1hp.htm
/// </summary>
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);

Graphics g = CreateGraphics();
Rectangle rect = new Rectangle(ClientRectangle.Width / 2 - 80, ClientRectangle.Height / 2 - 80, 160, 160);
Pen p = new Pen(Color.Black);
g.DrawEllipse(p, rect);
Brush b = new SolidBrush(Color.Black);
g.FillEllipse(b, rect);
}
}
}

当重绘控件时会引发 Paint 事件。 该事件将 PaintEventArgs 的实例传递给用来处理 Paint 事件的方法。
创建具有不同可视外观的新自定义控件或继承的控件时,必须提供代码以通过重写 OnPaint 方法呈现此控件。

推荐:
http://hovertree.com/h/bjaf/52nadvt4.htm

评论: