面板控件上的图形创建不起作用



我有一个寡妇窗体中的面板

private void pnlDraw_MouseMove(object sender, MouseEventArgs e)
{
if (startPaint)
{
using (g = Graphics.FromImage(bmp))
{
if ( x != -1 && y != -1) 
{
Color mynewcolor = Color.FromName(myColor);
Pen p = new Pen(Color.Black, 5);
g.DrawLine(p, new Point(x, y), e.Location);
x = e.X;
y = e.Y;
}
}
pnlDraw.Invalidate();                    
}
}
private void pnlDraw_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImage(bmp, Point.Empty);
}

我正试图在这样的按钮点击事件中清除面板(清除我在面板上绘制的内容(。

但它不起作用?我应该怎么做才能清除面板?

private void btnClear_Click(object sender, EventArgs e)
{
pnlDraw.Invalidate();
}

根据使用LarsTech的答案

(Graphics g = Graphics.FromImage(bmp)) { g.Clear(pnlDraw.BackColor); }
pnlDraw.Invalidate();
pnlDraw.Update();

试试这个:

private void btnClear_Click(object sender, EventArgs e)
{
pnlDraw.Invalidate();
pnlDraw.Update();
}

最新更新