Zugriff auf Elemente des Parentforms?
-
Hallo zusammen!
wie kann von einem Formular aus auf Elemente des erzeugenden Forms zugriffen werden?
z.B.: Auf dem Hauptform liegt eine RichEditBox. Aus diesem Form wird ein weiteres Form geöffnet:
Form form2 = new form2();
form2.Show();Wie kann nun aus diesem Form2 auf den Inhalt der RichEditBox des Form1 zugegriffen werden?
Besten Dank
Jürgen
-
Bin mir nicht sicher, da ich es gerade nicht ausprobieren kann, aber versuche mal:
form1.RichEditBox.[...]form1 ist natürlich dein Hauptformular. Ich denke das sollte klappen.
Code-Hacker
-
Hallo,
das habe ich versucht, dann kommt folgende Fehlermeldung:
"Auf '.Form1.richTextBox1' ist der Zugriff aufgrund der Sicherheitsebene nicht möglich"Gruss
Jürgen
P.S.: Es sollte natürlich "richTextBox" statt "richEditBox" heissen
-
Wenn ich den Access der richTextBox nach "public" ändere kommt folgende Fehlermeldung:
"Ein Objektverweis ist für das nicht statische Feld, Methode oder Eigenschaft '.Form1.richTextBox1' erforderlich."Jürgen
-
das problemm ist, dass du versucht das, was in bcb standard ist auf c# anzuwenden. z.b. gibt es in bcb standardmässig eine instanz von deinem form.
versuch mal folgendes:
in form1
Form2 f2 = new Form2(); f2.Parent = this; f2.Show();
in form2
// irgendwo im quelltext Form1 f1 = (Form1)Parent; f1.richTextBox1.<wasdumachenwillst> ...
richTextBox1 natürlich public
-
zumindest lässt sich das Fehlerfrei übersetzen. Beim ausführen und Aufrufen der Form2 gibt der Debugger im Fenster .. folgende Meldung aus:
"Eine nicht behandelte Ausnahme des Typs 'System.ArgumentException' ist in system.windows.forms.dll aufgetreten.
Zusätzliche Informationen: Ein Steuerelement der oberen Ebene kann nicht zu einem Steuerelement hinzugefügt werden."Dies genau nach der Zeile mit der Parentzuweisung:
Form frm_language = new frm_language(); frm_language.Parent = this; // hier kommt die Meldung !!!! frm_language.Show();
Jürgen
-
Sorry...
das heisst natürlich Owner bei einem Formular und nicht Parent
also
Form2 f2 = new Form2(); f2.Owner = this; f2.Show();
und
Form1 f1 = (Form1)Owner; f1.richTextBox1.<wasdumachenwillst>
-
Danke!!!
jetzt geht das!
Ich habe mir den Zugriff auf Elemente zwischen den Formen generell einfacher vorgestellt!
Gruss
Jürgen