我需要在面板上绘制多边形图(尺寸400,400) 我试试这个,但它没有用。
PointF[] points = new PointF[totalpaso + 1];
for (int d = 0; d <= totalpaso; d++)
{
s = (float)(hola1[d] + 200);
w = (float)(hola2[d] + 200);
j = new PointF(s, w);
points[d] = j;
}
grafico.DrawPolygon(lapiz, points);
答案 0 :(得分:0)
我想你应该看一下这篇文章: https://msdn.microsoft.com/en-us/library/07e699tw(v=vs.110).aspx
但只有这种方法,你才能走远。它将在OnPaint方法中绘制: C# Forms - Using Paint methods?
答案 1 :(得分:0)
您可能希望基于Panel进行自己的控制。
一个非常基本的例子就是:
public sealed class MyPanel: Panel
{
public MyPanel()
{
this.ResizeRedraw = true;
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
using (var brush = new SolidBrush(this.ForeColor))
{
e.Graphics.FillEllipse(brush, 0, 0, this.Width, this.Height);
}
}
}
要测试它,将类添加到Windows窗体项目,编译,然后将其放到窗体上并将其设置为设计器中的“Dock”。
然后将BackColor设置为红色,将ForeColor设置为蓝色,然后运行程序。
然后,您可以将所需的绘图代码添加到OnPaint()
覆盖。