excel - 如何在 VBA 中找到控件的父用户窗体
问题描述
此代码是类模块的一部分。
Private pImg As Image 'For example, pImg = U_Cursor.Img
Public Property Let ItemID(ID As Byte)
pImg.Picture = LoadPicture(ThisWorkbook.Path & "\Images\Img" & ID & ".gif")
*ParentUserform*.Repaint 'ParentUserform is the userform I'm looking for
End Property
我必须强制 Excel 重新绘制用户窗体,否则图像有时不会在屏幕上更新。
有没有办法知道哪个用户表单“pImg”在?
如果没有有效的方法,我可以将另一个变量添加到包含用户表单名称的类模块中,但我不希望这样做。
解决方案
pImg.Parent
如果pImg 是用户表单的直接子级,它将起作用。如果它在另一个容器中(例如多容器或框架),则需要爬树.Parent
。
在您的代码处于中断模式时,请查看 Locals 窗口并查看pImg
推荐阅读
- css - CSS Grid,有网格项的图像填充高度吗?
- c# - 在 sitefinity 版本 8.2 迁移后,页面重定向不保留 URL 的查询字符串部分?[asp.net/C#]
- java - 什么是实现以下问题的解决方案的最简单和最简洁的方法
- php - 根据当前登录用户获取表详细信息
- javascript - jquery fileupload.js this._on 不是函数错误
- php - Angular 模式表单 - 使用 PHP 和 Mysql 插入数据
- python - 使用 python/pandas 为 A 列中的每个唯一记录获取 B 列中的唯一值
- python - Scikit train_test_split 按索引
- sql - Oracle - 从 varchar2 列中提取用于比较的数字
- paypal - 在给定电子邮件的情况下创建付款链接