首页 > 解决方案 > 从互操作 UserControl 访问 VB6 父窗体的 AmbientProperties.UserMode 属性

问题描述

VB6 窗体上托管的 WinForms 互操作 UserControl 是否可以检索父窗体的AmbientProperties.UserMode值?

UserControl 的DesignMode属性为 false,考虑到控件已编译和注册,这很有意义。

标签: winformscom-interopvb6-migrationwinforms-interop

解决方案


这是一个非常有趣的问题。

根据此 ( https://docs.microsoft.com/en-us/windows/win32/com/ambient-properties ),所有 ActiveX 控件容器都必须支持UserModeAmbient 属性。

尝试通过 IDispatch ( https://docs.microsoft.com/en-us/dotnet/api/system.type.invokemember?view=netframework-4.8 )InvokeMember调用该属性。UserMode


推荐阅读