我正在使用WinForms创建一个应用程序,它可能在屏幕上有超过100个不同的图像/对象。是否更好地在表单上使用Paint事件,或者有100个不同的图片框?
编辑:经过一些测试后,我将代码切换为使用Paint事件。感谢大家的帮助!
答案 0 :(得分:3)
您应该处理Paint
事件
(并确保启用双缓冲)
制作大量控件会导致性能问题 此外,自己绘制所有内容可以让您轻松使用更复杂的效果,如透明度。
或者,切换到WPF。
答案 1 :(得分:0)
我建议使用Paint事件,因为它具有比PictureBox更好的性能,并且与旧的.NET兼容,但PictureBox对于显示来自.JPEG文件等资源的图像也非常有用。
提示:如果要在多个PictureBox控件中使用相同的图像,请为每个PictureBox创建图像的克隆。从多个控件访问同一图像会导致异常发生。