我有一个加载了生成的位图的表单。我希望用户能够按下按钮并更改显示的图形。我的问题是,如何删除当前显示的位图?
编辑:位图正在加载到ImageBox上(而不是直接放在表单上)这是由Hans Passant c# panel for drawing graphics and scrolling提出的{/ 3}
由于
答案 0 :(得分:2)
与leppie的答案相同的原则。除非您需要设置ImageBox.Image
属性:
myImageBox.Image = null;
这是因为以下代码(摘自Hans's answer to your previous question):
protected override void OnPaint(PaintEventArgs e) {
e.Graphics.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);
if (mImage != null) e.Graphics.DrawImage(mImage, 0, 0);
base.OnPaint(e);
}
当您将控件的Image
属性设置为null
时,属性设置器会强制控件重绘自身(this.Invalidate();
)。当它重新绘制自身时,不会绘制任何图像,因为负责绘制控件的OnPaint
方法会在绘制之前验证mImage != null
。
答案 1 :(得分:1)
以下内容应该有效:
Form.BackgroundImage = null;