我在vb2008中编写了一个测试表,以便在vb6中将其称为mdi-child:
代码如下: `
Imports System.Runtime.InteropServices
<ComClass(frmTest.ClassId, frmTest.InterfaceId, frmTest.EventsId)> _
Public Class frmTest
Inherits System.Windows.Forms.Form
#Region "COM-GUIDs"
Public Const ClassId As String = ""
Public Const InterfaceId As String = ""
Public Const EventsId As String = ""
#End Region
Public Sub New()
MyBase.New()
InitializeComponent()
End Sub
Public Overloads Sub Show(ByVal MDI As Object)
Me.MdiParent = CType(MDI, System.Windows.Forms.Form)
Me.Show
End Sub
Public Sub SomeText(ByVal Text As String)
MsgBox(Text)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox("Test")
End Sub
End Class
`
在vb6中,在引用下我引用了tlb。
到目前为止,非常好。
我打开一个新项目并创建一个新的MDI表单。
Private Sub Start_Click(Index As Integer)
Dim f As New MyTestLibrary.frmTest
f.Show (Me)
End Sub
不幸的是,这种方法不起作用,因为它是COM-Component,并且发生错误。任何人都知道在VB6中使用Windows .NET表单的验证方法???
提前谢谢你。
斯蒂芬
答案 0 :(得分:0)
但是,有些东西可能无法正常工作,例如VB 6代码中嵌入的某些ActiveX控件可能会出现问题。