我目前正在使用PictureBox并面临一个问题。
首先,我在PictureBox上画了一个椭圆。
它很好地绘制在图片框上。
但是当我最小化窗体并重新加载它时,PictureBox上绘制的椭圆会使bin消失。
任何人都可以建议解决这个问题...
感谢...... ..
此致 Pritesh Patel
答案 0 :(得分:5)
.NET中的Graphics对象是not retained-mode,因此您需要在对象的Paint事件中绘制椭圆,在您的情况下是图片框。
答案 1 :(得分:3)
正如马丁所建议的,你应该在绘制表格时重新绘制图片。
如果不希望或不可能,那么唯一的另一个选择是绘制您在图片框中显示的图片。
您可以使用Image从Graphics.FromImage对象创建Graphics对象。使用此对象可以根据需要绘制图像,完成后可以将图像分配给图片框“Image属性”。只要您的表单对象存在,该图像就会被保留。
答案 2 :(得分:2)
我确实面临与屏幕重绘相同的问题。我解决这个问题的方法是将所有用户操作存储到List中,因此每次调用paint事件时,都会重放记录在列表中的所有操作。在您的情况下,所有x,y坐标都将存储到用户释放鼠标的位置。
虽然这一开始看起来很难,但你会欣赏它在实现Undo和Redo时提供的灵活性。
这是一个链接,其中包含完成此操作的代码示例。 http://social.msdn.microsoft.com/Forums/pl-PL/wpf/thread/048ae883-f3e2-4ddc-bb89-fd72f00dd755
答案 3 :(得分:1)
答案 4 :(得分:0)
您需要在paint事件中调用Draw方法。