C# Can';不要在画框上画画

C# Can';不要在画框上画画,c#,C#,假设我们有一个表格和一个图片盒: 问题在哪里?矩形在图片框上消失。为什么? private void pictureBox1_Paint(object sender, PaintEventArgs e) { Graphics gr = pictureBox1.CreateGraphics(); gr.FillRectangle(Brushes.Red, new Rectangle(10, 10, 50, 50)); } 我查过了,是的,每

假设我们有一个表格和一个图片盒:

问题在哪里?矩形在图片框上消失。为什么?

   private void pictureBox1_Paint(object sender, PaintEventArgs e)
    {
        Graphics gr = pictureBox1.CreateGraphics();
        gr.FillRectangle(Brushes.Red, new Rectangle(10, 10, 50, 50));

    }

我查过了,是的,每个人在评论中都提到了这个案例

问题是,在绘制时,您没有参考图形,而只是在picturebox的图形中推动矩形,而不会渲染

要正确绘制,您需要使用
e.Graphics
在将要绘制的图形上获得参考

所以正确的代码是:

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
    Graphics gr = e.Graphics;
    gr.FillRectangle(Brushes.Red, new Rectangle(10, 10, 50, 50));

}

首先使用所提供的
painteventags
中的
e.Graphics
,而不是创建一个新的
Graphics
对象。你为什么要写
eventary
这些问题呢?@deltreme:我不是百分之百肯定,但这不是答案吗?矩形画在另一个
图形
对象上,然后是其余的?谢谢大家。是的,我应该换掉电子显卡。@Parkhid:你介意停止吗<代码>你好和
谢谢
已被视为不必要的噪音。。。