2013-10-01 17 views
2

我有一個在C#解決方案中創建的用戶控件,我必須在VB中以現有的形式使用該控件。我是vb的新手。請幫我解決這個問題。如何使用在C#中創建的控件作爲VB6中的表單

在此先感謝。

+1

選中此鏈接(http://stackoverflow.com/questions/375457/cant-instantiate-a-com-object-written-in-c-sharp-from-vba-vb6 -ok) –

+0

你確定嗎?你想在VB中使用.net DLL?如果沒有安裝.net,這將不起作用? –

+0

是的。 Dotnet已經安裝好了,我正在嘗試像這樣使用它。 設置mctldemo = Controls.Add(「Democtl.Control」,「ctlDemo」,我) – satyanarayana

回答

1

加載數據的時候我已經這樣設置控制:

Set mctldemo = Controls.Add("Democtl.Control", "ctlDemo", Me) 

卻忘了提ClassInterface如本link

[ClassInterface(ClassInterfaceType.AutoDual)] 
    [ProgId("Democtl.Control")] 

謝謝大家回答我的問題,謝謝Nadeem_MK的鏈接

0

看來這不被支持。我從來沒有嘗試過 - 我爲什麼會 - 但其他人:

然而,根據支持文檔,它可能只是勉強能夠使它通過在VB6控件的WebBrowser實例中託管dotNet usercontrol來工作。

但我真的建議你不這樣做。我不禁想到將整個窗體升級到dotNet會更容易...整個項目實際上是VB.Net ...

或者,您可以將usercontrol重寫爲VB6用戶控件。

+1

不是你的三個鏈接是針對不同的問題? (i)在Office文檔中顯示.Net控件(ii)從VB6顯示.Net格式(iii)從Internet Explorer顯示.Net控件。問題是關於在VB6表單中顯示.Net控件(而不是表單)。 BTW升級VB6-> VB.Net [可以是一個巨大的承諾](http://stackoverflow.com/questions/tagged/vb6-migration)。 – MarkJ

相關問題