Click here to Skip to main content
15,881,139 members
Articles / Operating Systems / Windows
Article

VB6 - C# Interop Form Toolkit

Rate me:
Please Sign up or sign in to vote.
4.57/5 (11 votes)
2 Oct 2006CPOL2 min read 196.6K   3.8K   26   49
Interop Form Toolkit was released few days ago. It allows an easy creation of mixed VB6/VB.NET application. One thing it is missing is the ability to do it in C#.
Sample Image - newproject.gif

Introduction

After a long period of talking and expectation Interop Form Toolkit is finally released. I blogged about it few days ago here. If you have an existing VB6 application and are considering options to combine it with new .NET module, you definitely need to check it out.

After couple of hours playing with Interop Form Toolkit, one thing I could not understand is "why it supports VB.NET only?" So I decided to fix this injustice.

Two things should be replaced to make the toolkit work perfectly well with C#: Project template and Add-In for Wrapper objects creation. First of all, I created a new C# project template ("VB6 Interop Form Library C#") and a new item template ("C# Interop Form"). Now you will be able to create a new C# project from this template and add new forms with all needed references and attributes. The original Add-In does not bother even to check in which language the current project is written. It assumes that the only possible choice is VB.NET. Add-In creates a wrapper object and deals with public constructors, properties, methods and events. It will add to wrapper only public members marked with one of Interop Toolkit attributes (InteropFormProperty for example). New Add-In can replace the existing one. It can generate wrappers both in C# and VB.NET, based on project language. If you will invoke it in mixed VB.NET/C# solution, for each, project wrappers will be created in the correct language.

Notes

  • Other .NET languages except VB.NET and C# are still ignored.
  • I can only take credit mostly for translation work. Creators of the original Toolkit deserve a lot of thanks.
  • It is unsupported and definitely not a bullet proof tool. Please let me know about problems or feel free to fix the attached code.

Installation

I apologize for not creating the setup for this, but installation is very easy. First of all, you will need to download and install Interop Form Toolkit. Then, you need to copy template zip files into template directories (usually project template will go into ...\My Documents\Visual Studio 2005\Templates\ProjectTemplates\Visual C#\Windows, and item template into ...\My Documents\Visual Studio 2005\Templates\ItemTemplates). And the last one: copy add-in files into Visual Studio 2005 Add-Ins directory (...\My Documents\Visual Studio 2005\Addins).

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Israel Israel
Leon works as Chief Architect at SRL Group. He leads architectural design and development of various enterprise level projects.
You can meet him on user groups, conferences and forums dedicated to Architecture, ASP.NET, Team System etc. or join him for the next white water rafting adventure

Comments and Discussions

 
BugStrange floating point behaviour when accessing Single values is vb6 Pin
Jakob Schönfeld8-Sep-15 20:58
Jakob Schönfeld8-Sep-15 20:58 
QuestionCommercial License Pin
Dupron2-Apr-13 1:29
Dupron2-Apr-13 1:29 
GeneralMy vote of 5 Pin
Manoj Kumar Choubey14-Mar-12 19:13
professionalManoj Kumar Choubey14-Mar-12 19:13 
SuggestionSolved: Problems with Visual Studio 2010, AddIn not loaded or/and Wrapper still in VB.Net Pin
arkimboldo2-Aug-11 2:19
arkimboldo2-Aug-11 2:19 
Hi all,
maybe others are botherd by the same Problem I had.
Problem:
Using Visual Studio 2010 and the InteropFormToolkit 2.1. I loaded and set up the files as described in this Tutorial. But when I clicked "Tools --> Build wrapper..." the Wrapper Class is still VB.Net Code which, of course, causes errors building the project. In addition I noticed that under "Tools-->AddIn MAnager" the new AddIn is not listed, only the original AddIn from the Toolkit.

Here is the solution that worked for me:
First of all, open the source code off this AddIn in Visual Studio 2010. Admit the Messages to convert the project to Visual Studio 2010 and then rebuild the whole Project. Doing so you get a new file "InteropFormAddIn.AddIn" and "InteropFormAddIn.dll". Now copy these to files in your AddIn Folder.
Now open the file "InteropFormAddIn.AddIn" in VS 2010, because it is an normal xml-file. In the first section add the following
HTML
<HostApplication>
<Name>Microsoft Visual Studio Macros</Name>
<Version>10.0</Version>
</HostApplication>
<HostApplication>
<Name>Microsoft Visual Studio</Name>
<Version>10.0</Version>
</HostApplication>

and at the end of the file change the numbers 5,1,1 to 1,1,0 - so it looks like this:
HTML
<LoadBehavior>1</LoadBehavior>
<CommandPreload>1</CommandPreload>
<CommandLineSafe>0</CommandLineSafe>

Now close and reopen Visual Studio. Under Tools you now should see the new AddIn "Build C# Wrapper..." with a smiley in front of it.
GeneralProblems with Visual Studio 2008 and Interop Forms ToolKit 2.1 Pin
gcantarini13-Jul-10 3:52
gcantarini13-Jul-10 3:52 
QuestionHow to attach c# code as VB6 control Pin
ajovanov7-Jul-10 6:33
ajovanov7-Jul-10 6:33 
GeneralFYI - recompile the source for VS2010 Pin
mmacneill12310-Jun-10 3:46
mmacneill12310-Jun-10 3:46 
GeneralProblem creating interop form using VS2008 Pin
trpugh29-Aug-09 8:27
trpugh29-Aug-09 8:27 
QuestionDoes it work on vs.net 2008? Pin
devnet2478-May-09 5:26
devnet2478-May-09 5:26 
AnswerRe: Does it work on vs.net 2008? Pin
Eddy Vluggen21-Aug-09 8:43
professionalEddy Vluggen21-Aug-09 8:43 
GeneralRe: Does it work on vs.net 2008? Pin
mmacneill12326-Jan-10 5:55
mmacneill12326-Jan-10 5:55 
GeneralRe: Does it work on vs.net 2008? Pin
Jeff Roe27-Jan-10 13:21
Jeff Roe27-Jan-10 13:21 
GeneralRe: Does it work on vs.net 2008? [modified] Pin
Member 79748688-Jun-11 3:08
Member 79748688-Jun-11 3:08 
GeneralVS 2008 interop 2.0 Pin
johnp321021-Apr-09 9:58
johnp321021-Apr-09 9:58 
GeneralNever mind misunderstood something Pin
johnp321021-Apr-09 11:33
johnp321021-Apr-09 11:33 
QuestionGenerate Wrapper Error Pin
Member 185960731-Mar-09 18:12
Member 185960731-Mar-09 18:12 
QuestionIs it a Interop UserControl version? Pin
hainanpc10-Aug-08 6:11
hainanpc10-Aug-08 6:11 
General"lost" the InteropForm Wrapper C# Class Generator Pin
JohnBaima13-Feb-08 11:10
JohnBaima13-Feb-08 11:10 
GeneralRe: "lost" the InteropForm Wrapper C# Class Generator Pin
JohnBaima13-Feb-08 11:22
JohnBaima13-Feb-08 11:22 
GeneralRe: "lost" the InteropForm Wrapper C# Class Generator Pin
scrapetoe28-Apr-08 3:01
scrapetoe28-Apr-08 3:01 
GeneralExpose custom properties and methods to host app Pin
Edward Lane10-Sep-07 5:59
Edward Lane10-Sep-07 5:59 
GeneralRe: Expose custom properties and methods to host app Pin
Edward Lane13-Sep-07 5:34
Edward Lane13-Sep-07 5:34 
GeneralRe: Expose custom properties and methods to host app Pin
Fessen11-Feb-09 21:52
Fessen11-Feb-09 21:52 
AnswerRe: Expose custom properties and methods to host app Pin
MyDevPartners17-Feb-12 9:38
MyDevPartners17-Feb-12 9:38 
GeneralError while loading adddin Pin
Amit_bad9-Jul-07 21:35
Amit_bad9-Jul-07 21:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.