【问题标题】:Clearing backgroundimage of panel清除面板的背景图像
【发布时间】:2013-05-15 10:18:59
【问题描述】:

使用 c# windows 窗体。

我正在使用面板的 backgroundImage 进行绘制。我想从面板中删除所有图纸。

我怎样才能简单地做到这一点?

【问题讨论】:

  • 你有没有试过亲眼看看?
  • 嗯,是吗?为什么不在发布问题之前尝试一下?
  • 您是在修改背景中显示的实际图像吗?...还是在使用 Paint() 事件?给我们一些细节...

标签: c# windows forms panel


【解决方案1】:

如果你设置了背景图片,那么使用

this.myPanel.BackgroundImage = null;

删除它...

【讨论】:

    【解决方案2】:

    您不能使用 panel.backgroundImage.Dispose,因为 Control.BackgroundImage 属性没有 Dispose 方法。你可以使用

    panel.BackgroundImage = null; 
    

    删除面板的所有内容。

    明确指出,Dispose 方法仅可用于控件,使控件处于不可用状态。调用 Dispose 后,您必须释放对控件的所有引用,以便垃圾收集器可以回收控件占用的内存。

    【讨论】:

      【解决方案3】:

      这两个代码都可以正常工作。

      this.myPanel.BackgroundImage = null;
      

      this.myPanel.BackgroundImage = base.BackgroundImage;
      

      【讨论】:

        猜你喜欢
        • 2016-11-23
        • 2014-03-19
        • 1970-01-01
        • 2012-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-09
        • 2017-08-19
        相关资源
        最近更新 更多