Autor Beitrag
Stalker007
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Fr 05.03.10 17:31 
Hallo liebe Community!

Wie bereits im Titel geschrieben habe ich vor in C#.NET formübergreifend zu arbeiten.
Damit meine ich dass ich in Form2 einfach Form1-Variablen abfragen oder ändern kann.

In Visual Basic.NET (da komm ich her :D ) geht dies ja einfach so:

Form1.VARIABLE = NEUERWERT

In C#.NET geht aber nichts dergleichen.
Das Problem beschäftigt mich schon seit Tagen doch jetzt brauche ich diese Funktion dringend^^

Hoffe ihr könnt mir dabei helfen.

MfG,
Stefan
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Fr 05.03.10 17:48 
Hallo und :welcome:

Sehe ich es richtig, dass Form2 von Form1 aus gestartet/geladen/erzeugt wurde? Dann hat das seinen Grund, dass das nicht geht. (Es wäre zwar zu verwirklichen, aber das wäre hundsmiserabler Programmierstil; schlimm genug, dass das in VB.NET so einfach geht.)

1. Über die Controls eines Formulars darf niemand "von außerhalb" die Verfügungsgewalt bekommen.
2. Das Formular, das ein anderes erzeugt, darf auf dessen öffentliche Eigenschaften zugreifen, aber nicht umgekehrt:
3. Das untergeordnete Formular darf über seinen Erzeuger keine Einzelheiten kennen.
4. Der Erzeuger darf (durch eigene Aktivität) jederzeit öffentliche Eigenschaften abfragen und (soweit vorgesehen) festlegen.
5. Das erzeugte Formular darf seinem Erzeuger nur über einen Delegate etwas mitteilen (das betrifft die Situation, wo das untergeordnete Formular aktiv werden muss und das übergeordnete darauf reagieren soll).

Der letzte Punkt ist nicht mit drei Zeilen zu erklären. Ich kann dich zwar auf [FAQ] Kommunikation von 2 Forms verweisen, aber das sind sehr viele (teils verstreute) Informationen; ich befürchte, die bringen dich auch nicht weiter.

Wenn dir das Konzept von Delegates und eigenen EventHandlern etwas sagt, können wir in dieser Richtung weiterarbeiten. Gruß Jürgen