如何在vb6中的vb2008中实现Windows窗体

时间:2014-11-05 15:38:31

标签: winforms vb6

我在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表单的验证方法???

提前谢谢你。

斯蒂芬

1 个答案:

答案 0 :(得分:0)

  • 将VB 6放入DLL中。创建一个从VB 6调用模式对话框的公共方法。
  • 从.NET程序中,引用VB 6(COM选项卡)中构建的DLL
  • 调用方法。您的VB6模态表格将会出现。

但是,有些东西可能无法正常工作,例如VB 6代码中嵌入的某些ActiveX控件可能会出现问题。