我通过图像框将一个位图加载到winform上。当我想要更新图像时,我会这样尝试:
imagebox.image = null;
draw(); //implements the drawing of the bitmap and assigns to the imagebox/winform
但是,这只有在我隐藏然后再显示表格时才有效?我怎么能绕过这个?
编辑:问题已解决。
答案 0 :(得分:1)
您是否尝试在Invalidate(imagebox.Bounds);
方法结束时拨打draw()
?
这应该强制重新绘制,因此您不必再隐藏并再次显示该表单。
答案 1 :(得分:1)
您应该查看此链接Bob Powell GDI+ FAQ。它对一些GDI基础知识有一些明确的指示,这个链接转到PictureBox绘图示例。
基本上你想要附加到ImageBox的Paint事件,并在每次想要重新绘制时调用Invalidate()。
答案 2 :(得分:1)
使图像属性设置器更智能。例如:
private Image mImage;
public Image Image {
get { return mImage; }
set {
mImage = value;
Invalidate();
}
}
现在可见图像会自动刷新。