Benutzer mit den meisten Antworten
Form aus anderem Projekt aufrufen

Frage
-
Hallo Forum,
ich habe eine Projektmappe mit 3 einzelnen Projekten.
Nun möchte ich aus Projekt 1 eine Form aus Projekt 3 aufrufen.
Alle Form Namen habe ich in einer Datenbank gespeichert. Daraus baue ich je nach Umfang einen Tree auf.
Bisher habe ich die Form aus dem Tree immer so aufgerufen.
Der row Text ist zB. Projekt1.Form4
Wenn ich das im Prokjet1 mache geht das auch.
Type Fenster = Type.GetType(row["Tree_Prog_Start"].ToString()); Form FensterStart = (Form)Activator.CreateInstance(Fenster); FensterStart.Show();
Wenn die Form aber zB aus dem Projekt 2 ist.
Der row Text also Projekt2.Form77 ist
dann bekomme ich die Fehlermeldung, das der Typ nicht null sein darf.
Was mache ich falsch ? bzw. wie muss ich den Aufruf einer Form in einem anderen Projket machen.
Die Projekte habe ich alle verbunden. using ist auch vorhanden.
Kann mir da jemand helfen ? Danke.
Gruß Roland
Antworten
-
Hallo,
du musst in dem String mit angeben, in welcher Assembly die Klasse (Form) steckt. Die Einzelheiten der Syntax erfährst du hier.Der String muss beispielsweise so aussehen:
Type Fenster = Type.GetType("Projekt2.Form77, Projekt2");
Das hinter dem Komma ist der Name der Assembly (Dateiname ohne Erweiterung). Wenn die Assembly im GAC registriert ist, musst du den vollständigen Namen angeben, siehe hier.
Tom Lambert - C# MVP
Bitte bewertet- und markiert Beiträge als Antwort. Danke.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Roland DE Donnerstag, 29. Mai 2014 19:07
Alle Antworten
-
Hallo,
du musst in dem String mit angeben, in welcher Assembly die Klasse (Form) steckt. Die Einzelheiten der Syntax erfährst du hier.Der String muss beispielsweise so aussehen:
Type Fenster = Type.GetType("Projekt2.Form77, Projekt2");
Das hinter dem Komma ist der Name der Assembly (Dateiname ohne Erweiterung). Wenn die Assembly im GAC registriert ist, musst du den vollständigen Namen angeben, siehe hier.
Tom Lambert - C# MVP
Bitte bewertet- und markiert Beiträge als Antwort. Danke.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Roland DE Donnerstag, 29. Mai 2014 19:07