图形.圆角矩形获胜';t更新

本文关键字:更新 获胜 圆角 图形 | 更新日期: 2023-09-27 18:28:52

我有点击启动的事件功能,其中有一条图形指令

    private void pictureBox1_Click(object sender, EventArgs e)
    {
        switch (modCLick)
        {
            case 2: 
                    session.g.FillRectangle(Brushes.Tomato, MousePosition.X, MousePosition.Y, 50, 100);
                break;
        }
        ModCLick = 1;
    }

当我启动程序时,点击什么都不做,但如果我按下一个键(仅限某些键),更改就会应用(我可以看到矩形)。为什么没有正确更新?附言:不用担心案例说明。

图形.圆角矩形获胜';t更新

将图形实例存储在全局变量中是一个非常糟糕的想法。让它看起来像这样:

using (var g = Graphics.FromImage(pictureBox1.Image)) {
   g.FillRectangle(Brushes.Tomato, MousePosition.X, MousePosition.Y, 50, 100);
   pictureBox1.Invalidate();
}

Invalidate()调用就是您要查找的调用。PictureBox只能判断您更改了Image属性,而不能判断您是否更改了图像内容