如何清除用户窗体中的图像?

Posted

技术标签:

【中文标题】如何清除用户窗体中的图像?【英文标题】:How to clear an Image in a Userform? 【发布时间】:2018-05-17 02:12:39 【问题描述】:

我有一个使用图像控件的用户窗体。我根据两个标准在此控件中显示图片。

当我想输入两个新条件时,我不知道如何在用户窗体中清除此图像。

【问题讨论】:

【参考方案1】:

您可以通过Image1.Picture = LoadPicture(vbNullString) 轻松'清除'您的 UserForm Image 控件(例如 Image1)。在下面的示例中,您将在单击命令按钮时在显示定义的图片和显示空控件之间切换。为了控制图像状态(是否为空),您可以通过If Image1.Picture Is Nothing Then检查图像图片属性...

用户表单模块 (Excel) 中的代码示例

Option Explicit

Private Sub CommandButton1_Click()
' Purpose: Change view between given image and no image
Dim sImgName As String                     ' picture name string
sImgName = "C:\Temp\MyPicture.gif""        ' <<< choose your picture name"
With Me.Image1
  If .Picture Is Nothing Then             ' picture property has been cleared already
     .Picture = LoadPicture(sImgName)
  Else                                    ' a picture is already displayed
     .Picture = LoadPicture(vbNullString) ' clear it now
  End If
End With
End Sub

在 MS Access 中使用的提示

注意 MS Access 中重复 @DrMarbuse 的评论作为后期编辑的不同用法:

Access 2010中,图片由图片路径直接设置。因此不再使用 LoadPicture()(在 Excel 中是必需的)。 一切都保持不变,就像一个魅力。

【讨论】:

你的回答解决了我的问题,非常感谢。还有一件事,我看到你解决了多少次某人的问题。这是如何运作的 ?我怎样才能让你知道你解决了我的问题? 在access 2010中,图片直接由图片路径设置。所以LoadPicture() 将不再使用(在 Excel 中是必需的)。一切都保持不变,就像一个魅力。 很高兴看到上面的代码像魅力一样工作,感谢您提供有关 Access 2010 的其他信息(除了需要 LoadPicture() 的 Excel)。 - @DrMarbuse

以上是关于如何清除用户窗体中的图像?的主要内容,如果未能解决你的问题,请参考以下文章

vb中图片框如何清除里面的所有内容?

c#中关于splitContainer控件的用法:如何做到不清除控件就能在panel2中打开一个窗体呢?

如何从主窗体更新子窗体中的图像框控件源

如何在 Windows 窗体应用程序的 rdlc 报告中显示数据库中的图像

如何清除openCV中的窗口内容

如何通过在 C# windows 窗体中的文本框中输入来更改图像的大小?