VBA:点击元素后无法更改图像控制图片

时间:2017-11-13 14:49:59

标签: vba excel-vba userform excel

设置

我有一个带有Image Control元素的Excel VBA UserForm。单击表单中的按钮时,将使用以下代码设置/更新图像控件的Picture源:

Set MyForm.imgControl.Picture = LoadPicture(pathToFile)

问题

当用户点击图片控件时,更新其Picture来源不再有效。无论何时在工作流程中单击图像控件,都会出现问题:

  • 示例1:用户单击按钮以设置图片(并且图片设置正确)。用户点击图像控件。用户单击其他按钮以更改图片 - >显示的图片不会改变。
  • 示例2:用户在加载表单后立即单击“图像控件”。用户点击按钮更改图片 - >显示的图片不会改变。

如果用户从不点击图像控件,一切都运行得非常顺利。值得注意的是,单击图像控件并不会明显地将其聚焦。

问题

单击图像控件不应该对图片是否可以更新产生影响。如何才能做到这一点?或者,至少,有没有人知道为什么解释的行为正在发生,或者它只是一个错误?

Control确实有Click / MouseDown / ...事件(它们是空的),但它们没有取消参数。

1 个答案:

答案 0 :(得分:3)

听起来像是一个错误,但是作为一种解决方法,我建议在更改图片后强制重绘:

Set MyForm.imgControl.Picture = LoadPicture(pathToFile)
MyForm.Repaint