我有一个带有两(2)个标签的标签控件。选项卡1使用图形地址框在图片框中绘图(图片框是可选的,我可以直接绘制到选项卡)。第二个选项卡打开Web浏览器。一切都很好。我可以在第一个选项卡中进行绘制,但是当我切换到第二个选项卡并返回到第一个选项卡时,绘图消失,如果我返回选项卡2,我可以在Web浏览器中看到我正在观看的内容。我需要将图纸保留在标签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时,线条就在那里。在此先感谢您的帮助!!!。
答案 0 :(得分:1)
完成后,我只使用了一个Bitmap来绘制它并使用位图设置图片框图像。
我使用的代码如下:
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;
无论如何,无论谁看到我的问题并尝试回答它,都要感谢。