c#绘图预览举行功能

问题遇到的现象和发生背景

我想做一个截屏后可编辑的功能,但是画矩形想要预览功能

用代码块功能插入代码,请勿粘贴截图

Graphics g = pictureBox1.CreateGraphics();
                        x2 = e.X;
                        y2 = e.Y;
                        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
                        if (x > x2)
                        {
                            string a = textBox1.Text;
                            int b = Convert.ToInt32(a);
                            g.DrawRectangle(new Pen(colorChoosed, b), new Rectangle(e.X, e.Y, x - x2, y - y2));
                        }
                        else
                        {

                            string a = textBox1.Text;
                            int b = Convert.ToInt32(a);
                            g.DrawRectangle(new Pen(colorChoosed, b), new Rectangle(x, y, x2 - x, y2 - y));
                        }



运行结果及报错内容

会显示很多矩形

我的解答思路和尝试过的方法

我试过在截一次控件,然后贴上去,但没用

我想要达到的结果

画矩形想要预览功能

绘制应在pictureBox1 的Paint 事件处理中进行