Laden...

c# Form in VB integrieren

Erstellt von c#_gast vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.348 Views
C
c#_gast Themenstarter:in
71 Beiträge seit 2005
vor 17 Jahren
c# Form in VB integrieren

hallo.
ich mach folgendes: ich habe ein Rahmenprogramm in VB6, in welches man DLLs(komplette Anwendungen) hineinlädt und diese dann verwenden kann.
jetz habe ich so eine DLL in C# geschrieben, funktioniert auch alles, außer das C# Programm (nur ein Formular als Oberfläche) als extra Anwendung erscheint im TaskManager etc. . das ist störend in meinem vb-programm, weil beide kommunizieren.

kann man das irgendwie verhindern, das sich c#-form extra startet bzw. erscheint??

es soll quasi im vb Form integriert sein als child.

danke

476 Beiträge seit 2004
vor 17 Jahren

hallo C#_gast,

was stört Dich denn nun genau?

Soll die C#-Form nicht in der Taskleiste erscheinen? Dazu gibt es in der Form eine Property "ShowInTaskbar" die du auf false setzen musst.

Wenn du die .NET-Anwendung als DLL in VB6 verwendest wird sie "in-process" ausgeführt und erscheint somit auch nicht im TaskManager.

Soll das .NET Fenster sich für den User anfühlen als wäre es ein Teil deiner VB6 Anwendung, musst du das Fenster mit Windows-API Funktionen kapern. Siehe auch .NET-Control in VB6 verwenden

-yellow

Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).

Mein Blog: Yellow's Blog auf sqlgut.de

C
c#_gast Themenstarter:in
71 Beiträge seit 2005
vor 17 Jahren

Original von Yellow

Soll die C#-Form nicht in der Taskleiste erscheinen? Dazu gibt es in der Form eine Property "ShowInTaskbar" die du auf false setzen musst.

das hab ich auch schon gemacht und es funktioniert

Wenn du die .NET-Anwendung als DLL in VB6 verwendest wird sie "in-process" ausgeführt und erscheint somit auch nicht im TaskManager.

sie erscheint aber im taskmanager, das ist ja das problem.

Soll das .NET Fenster sich für den User anfühlen als wäre es ein Teil deiner VB6 Anwendung, musst du das Fenster mit Windows-API Funktionen kapern. Siehe auch
>

das mit dem handle übergeben machich schon, sonst könnte die vb6 anwendung nicht auf die c# form zugreifen.

das problem entsteht, wenn ich eine Touchscreen-Tastatur einblende (wird vom vb6 programm gemacht) und zu der zeit meine c# form im vordergrund ist. dann wird die vb6 anwendung in und die tastatur in den vordergrund gebracht. jetz kann ich zwar mit ALT+TAB meine c# form wieder einblenden und die tastatur bleibt auch da, doch jedesmal wenn ich was an der tastatur mach, verschwindet die c# form wieder!
das darf nich passieren.