Dav*_*Caz 5 vb6 winforms-interop winforms
是否可以直接在 VB6 窗体中使用 .NET Windows 窗体控件?
这里的目标是在旧版 VB6 应用程序中使用更新的 .NET 控件。我们已经有了一个混合的 .NET / VB6 环境。
我知道Microsoft InteropForms Toolkit,但它被描述为用于将自定义用户控件从 .NET 导出到 VB6。这似乎没有提供预先存在的控件(但我可能是错的)。
我试图在 VB6 项目中简单地引用 System.Windows.Forms.tlb 作为组件库 - 但它不允许选择它,这似乎意味着它内部没有 ActiveX 控件。
我知道您可以轻松地执行相反的操作 - 例如,在 .NET winforms 表单上使用 VB6 用户控件。那不是我需要的。
您可以System.Windows.Forms
从 VB6 以正常方式引用该程序集,并在 VBP 中得到如下行:
Reference=*\G{215D64D2-031C-33C7-96E3-61794CD1EE61}#2.4#0#C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Windows.Forms.tlb#System_Windows_Forms
Run Code Online (Sandbox Code Playgroud)
但这不提供在表单上放置控件的访问权限。
我以前也这么做过。我在 .net 中创建了一个控件(使用您想要使用的表单控件)(使用 InteropFormsToolkit 导出到 tlb),并在放置该 .net 控件的位置创建了一个 vb6 控件。有必要映射我想要使用的所有属性、事件和方法。在 vb6 表单中,我添加了这个 vb6 控件,并封装了 .net。有效!
归档时间: |
|
查看次数: |
698 次 |
最近记录: |