C# wie pushe ich ein Ergebnis einer DLL-Form an die Hauptform?

Status
Für weitere Antworten geschlossen.
T

Taradal

Gast
Hey!
Ich habe jetzt ca 12 Stunden versucht es alleine zu lösen, ich schaff es aber einfach nicht..
Folgendes Problem:

Angenommen ich erstelle ein neues Projekt mit einer Windows-Form. Auf diese Form mach ich ein Textfeld und einen Button.
Der Button öffnet die Form einer DLL, die als Verweis eingebunden ist. Auf der Form der DLL sind 2 Textboxen und ein Button.
In die 2 Textboxen gebe ich 2 Zahlen ein und per Knopfdruck soll das Rechenergebnis in der Textbox der Hauptform ausgegeben werden.
Ich verzweifle daran total...
Return funktioniert ja nicht, da es keine Calling-Methode aus der 1. Form gibt oder?

Grüße
 
Kann sein, dass ich das Problem nicht verstehe, aber koenntest Du nicht die Instanz der 1. Form an die 2. Form als Parameter vom typ 'Form1' (wie Du auch immer die Class nennst) uebergeben, und im code der 1. Form eine Funktion deklarieren, die Daten annehmen kann? Dann kannst Du von der 2. Form aus die Funktion in der 1. Form aufrufen und die Daten uebergeben.
 
hans_meiser schrieb:
Kann sein, dass ich das Problem nicht verstehe, aber koenntest Du nicht die Instanz der 1. Form an die 2. Form als Parameter vom typ 'Form1' (wie Du auch immer die Class nennst) uebergeben, und im code der 1. Form eine Funktion deklarieren, die Daten annehmen kann? Dann kannst Du von der 2. Form aus die Funktion in der 1. Form aufrufen und die Daten uebergeben.

Hey,

Ich habe da dann das Problem, dass wenn ich die DLL schreibe einen Fehler bekomme, da ich ja auf die Instanz auf Form 1 zugreifen will, es ja aber noch gar keine Form 1 gibt. (Da ja die DLL erst nach dem schreiben als Verweis eingebunden wird.)
Ich müsste es also irgendwie auskommentieren und dann nach dem Einbinden als Verweis wieder "geltend machen". Allerdings weiß ich nicht, wie ich eine DLL bearbeiten kann nachdem ich sie eingebunden habe..
 
Es gibt 2 Möglichkeiten: Beim Klick auf OK der DLL-Form wird ein Event ausgelöst, das man abfangen kann. Oder die Form hat public Getters für die Textboxen, so dass man nur die Referenz auf die Form braucht. Ansonsten macht deine DLL-Form keinen wirklichen Sinn und man muss sich durch deren Controls hangeln bis man Textboxen findet.
 
Darlis schrieb:
Es gibt 2 Möglichkeiten: Beim Klick auf OK der DLL-Form wird ein Event ausgelöst, das man abfangen kann. Oder die Form hat public Getters für die Textboxen, so dass man nur die Referenz auf die Form braucht. Ansonsten macht deine DLL-Form keinen wirklichen Sinn und man muss sich durch deren Controls hangeln bis man Textboxen findet.

Hey,
Das mit den Gettern könnte ich nochmal probieren, mit denen bin ich allerdings nicht ganz im Bilde wie die funktionieren, bisher hat alles was ich damit versucht habe nicht geklappt.
 
An OP: wenn Du eine Projektdatei mit Quellcode usw. hast, die man leicht kompilieren kann, mach's zugaenglich und dann kann ma mal etwas experimentieren. Es wird sich schon was finden :)
 
Ein "hack" wäre das verwenden des .Tag elementes des Winform objektes. Da schreibst du dein objekt ergebnis rein und der aufrufer der dll form kann dann auf das tag elemtn zugreifen und das ergebnis lesen. ist eine "dreckige" lösung^^
 
@hoppler
Mein Problem ist, dass ich sobald das Ergebnis feststeht es in die Textbox auf Form 1 geschrieben werden soll, nicht erst wenn ich einen Knopf drücke oder ähnliches.

@hans_meiser
Was genau und wie kann ich dir da was schicken? :)
 
Vielleicht ein Visual Studio projekt? Und dann einfach hier einfach 'nen Link einstellen?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben