设置
我有一个带有图像控件元素的 Excel VBA 用户窗体。单击表单中的按钮时,将使用以下代码设置/更新图像控件的
Picture
源:
Set MyForm.imgControl.Picture = LoadPicture(pathToFile)
问题
当用户单击图像控件时,更新其
Picture
源不再起作用。无论何时在工作流程中单击图像控件,都会出现问题:
如果用户从不单击图像控件,一切都会顺利进行。值得注意的是,单击图像控件并不会明显聚焦它。
问题
单击图像控件不会影响图片是否可以更新。如何才能做到这一点?或者,至少,有人知道为什么会发生所解释的行为,或者这只是一个错误?
该控件确实具有 Click / MouseDown / ... 事件(为空),但它们不采用 Cancel 参数。
正如你所说,这听起来确实像一个错误,但作为一种解决方法,我建议在更改图片后强制重新绘制:
Set MyForm.imgControl.Picture = LoadPicture(pathToFile)
MyForm.Repaint
最终发现调整图像控件的大小可以解决问题(即在添加图片之前增加然后立即减小宽度)。