面板中出现图形故障
本文关键字:图形 故障 | 更新日期: 2023-09-27 18:35:06
我试图只在窗体上的面板上绘制基本形状。 到目前为止,什么也没发生,我不知道为什么。此方法在我的窗体的构造函数中调用。
private void doGraphics()
{
Pen p = new Pen(Color.Black);//draws wire frame Shapes
SolidBrush sb = new SolidBrush(Color.Yellow);//draws filled Shapes
Graphics g = panel1.CreateGraphics();
Point[] pointArray = { new Point(100, 20), new Point(100, 0), new Point(120, 0), new Point(120, 20) };
g.FillPolygon(sb, pointArray);
g.DrawPolygon(p, pointArray);
}
任何建议都会很棒!
您需要
注册到面板的Paint
事件,并使用参数附带的图形对象:
在构造函数中:
panel1.Paint += new PaintEventHandler(panel1_Paint);
处理程序本身:
void panel1_Paint(object sender, PaintEventArgs e) {
{
Pen p = new Pen(Color.Black);//draws wire frame Shapes
SolidBrush sb = new SolidBrush(Color.Yellow);//draws filled Shapes
Graphics g = e.Graphics; // From Arguments
Point[] pointArray = { new Point(100, 20), new Point(100, 0), new Point(120, 0), new Point(120, 20) };
g.FillPolygon(sb, pointArray);
g.DrawPolygon(p, pointArray);
}
在构造函数中调用此方法时,不能假定子控件和/或 Graphic 对象可用。使用窗体的 OnPaint 方法或创建自定义控件并重写其中的 OnPaint。