2009-09-28 5 views
2

J'ai une application VB6 existante que je déplace lentement son code vers DotNet, dans de nombreux cas, cela signifie d'avoir à utiliser les contrôleurs DotNet et de les héberger sous la forme VB6 en utilisant Interop Forms Toolkit v2.Iterop Forms Toolkit validation et focus événements

Actuellement, la méthode actuelle consiste à développer la commande usercontrol en C#, puis avoir un contrôle utilisateur VB.NET qui hérite de la version C# et héberge le contrôle VB.NET sous la forme VB6.

La seule partie où j'ai du mal à essayer de capturer les événements Leave ou Validated sur une zone de texte lorsque le contrôle suivant pour obtenir le focus est en dehors de la commande usb Dotnet. Les événements ne se déclenchent tout simplement pas ou mes gestionnaires ne sont pas exécutés.

Est-ce que quelqu'un a résolu ce problème ou est-ce qu'il me manque quelque chose?

+0

Je suis confronté au même problème. Comment avez-vous résolu ce problème ? –

Répondre

3

La première chose à noter est que vous n'avez certainement pas besoin d'utiliser VB.NET avec Interop Forms Toolkit, vous pouvez simplement utiliser votre code C# directement.

Découvrez ces deux articles CodeProject:

Dans le deuxième article il y a une classe appelée ActiveXControlHelpers, si vous regardez là-bas, vous verrez comment câbler votre UserControl pour que les événements se déroulent apparemment sur VB 6.0 vers .NET. Par exemple tabulation, si vous tabulez sur le contrôle .NET dans VB 6.0 alors vous souhaitez parcourir tous les composants de ce contrôle et pas sur le contrôle suivant dans le monde VB 6.0. Je suis assez sûr que si vous regardez comment cela est fait, vous devriez être en mesure de faire des progrès avec votre problème.

+0

Remarque: J'ai créé une version C# mise à jour de la boîte à outils Interop Forms. Vous pouvez le trouver sur [CodePlex] (https://interoptoolkitcs.codeplex.com/). –

Questions connexes