切换到选项卡 2 并返回选项卡 1 后,如何在选项卡控件上的图片框中保留图形绘制?

2023-12-22

我有一个带有两 (2) 个选项卡的选项卡控件。 Tab 1 使用 Graphics Addline 在图片框中进行绘图(图片框是可选的,我可以直接绘制到选项卡)。第二个选项卡打开网络浏览器。一切正常。我可以在第一个选项卡中进行绘图,但是当我切换到第二个选项卡并返回第一个选项卡时,绘图会消失,如果我返回到选项卡 2,我可以看到我在网络浏览器中观看的内容。我需要将绘图保留在选项卡 1 中,以便当我返回时可以看到它。这是我用来在选项卡 1 中绘制的代码:

private void DataLoaded(ref string strFileName)  //strFileName has the data 
need for the drawing.
{

 Graphics g = this.pictureBox1.CreateGraphics();

 Pen black = new Pen(Color.Black, 5); 

 Pen green = new Pen(Color.Green, 5); 

 List<double> xpoints = new List<double>(); 

 List<double> ypoints = new List<double>();

 g.TranslateTransform(350, 350);

 g.DrawLine(green, new Point(Convert.ToInt32(X1), Convert.ToInt32(Y1)), new  
 Point(Convert.ToInt32(X2), Convert.ToInt32(Y2))); 

 for (int i = 2; i < xpoints.Count(); i++){

            g.DrawLine(black, new Point(Convert.ToInt32(X1), 
            Convert.ToInt32(Y1)), new Point(Convert.ToInt32(X2), 
            Convert.ToInt32(Y2))); 

            X1 = X2;                                            
            Y1 = Y2;                                            

            X2 = xpoints[i];                                    
            Y2 = ypoints[i];                                   

        }// end of for 

}

我什至尝试使用 Painteventarg 进行绘图,但它根本不起作用。它对我有一点帮助,因为当我改回选项卡 1 并将鼠标移到选项卡上时,它会再次绘制线条。谁能帮我这个??我什至尝试使用 this.picturebox1.Invalidate() 但什么也没有。就像我说的,我需要的是:切换到选项卡 2 后保留选项卡 1 中的绘图,这样当我返回到选项卡 1 时,线条就在那里。先谢谢您的帮助!!!。


完成后,我只是使用位图来绘制它并使用位图设置图片框图像。

我使用的代码如下:

Bitmap image = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(image);

// In between all the code required for extracting the data and do the draw.

pictureBox1.Image = image;

无论如何,感谢所有看到我的问题并尝试回答它的人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

切换到选项卡 2 并返回选项卡 1 后,如何在选项卡控件上的图片框中保留图形绘制? 的相关文章

随机推荐