Form2 Variable auf Form1 übergeben

Fridulin

Erfahrenes Mitglied
Hi,

Ich weiß diese Frage wurde shcon 100 male gestellt und ich habe mir auch dieses alles durchgelesen, aber ich finde dennoch nicht das richtige für mich bzw. verstehe auch einiges nicht.
Auch das Tutorial habe ich mir zu gemüte geführt, ich weiß z.B. nicht was mit "Property erstellen" gemeint ist (unter anderem das, aber es gibt noch mehr was ich daran nicht verstehe), vielleicht kann mir das ja einer nochmal etwas einfacher erklären und evtuell die Variablen gleich von meinen Programm nehmen. Damit es für mich einfacher nachzuvollziehen ist.

Also ich habe Form1 diese heißt MainForm und Form2 die heißt Form1. Nun möchte ich in Form1 einen string nach MainForm übergeben.
Code:
 string aktuealisieren = "test";
Ich möchte Später in der MainForm das mit einer IF Funktion so implementieren, daß sobald ich den string gesetzt habe und "test" eingefügt habe er etwas nochmal neu einließt. Das bekomme ich ja auch alles hin, ich weiß nur nicht wie ich dieses string wieder zurück nach MainForm übergeben kann.
Achso und beide Formen sind im Namespace: Geburtstage

Kann mir da einer Heflen?

Viele Grüße und es tut mir leid das ich nochmal so ein Tema eröffnen muß.


Grüße
 
Hi,

mit "Property erstellen" ist gemeint dass du auf einer Form eine Eigenschaft definierst, um
auf eine private Variable dieses Formulares zuzugreifen.

Du hast z.B. Form2. In diesem Formular ist eine TextBox namens txt1 vorhanden und als
"private" deklariert.

Jetzt definierst du eine Eigenschaft, um diesen Wert nach aussen hin sichtbar zu machen.

Code:
public String GetTxt1
{
 get { return txt1.Text; }
}

Das wäre jetzt zum Beispiel eine Nur-Lese Eigenschaft und ein Zugriff von aussen
kann den Wert der TextBox txt1 nicht verändern, sondern nur lesen.
 
Hi,

also wenn ich das richtig verstehe ich habe mein Button:
Code:
void formneu_schliessen(object sender, System.EventArgs e)
{
this.Close();
}
Wenn ich jetzt da einfüge:
Code:
string auswahl = "test";
public String Getauswahl
{
get { return auswahl;}
}

Dann kann ich in meiner MainForm das eifnach wieder aufrufen? Wenn ich das bis dahin richtig verstanden habe, wie rufe ich das in der anderen Form, also MainForm dann aus?

Grüße und Danke
 
Fridulin hat gesagt.:
Also ich habe Form1 diese heißt MainForm und Form2 die heißt Form1. Nun möchte ich in Form1 einen string nach MainForm übergeben
Das zweite Form soll also aufgerufen werden um was einzugeben, wenn ich Dich richtig verstanden habe.
Vorher deklariest die Eigenschaft von Form1 so:
Code:
private string v_sAuswahl = "";
public string GetAuswahl{
	get { return v_sAuswahl; }
}
Code:
form1 form = new Form1();
form1.ShowDialog() // MainForm wartet bis das Form geschlossen wurde.
MessageBox.Show( form.GetAuswahl );
Eine Andere Möglichkeit währe noch Interfaces für dein MainForm zu implementieren.
Damit kannst Du dann dirket auf die Methoden&Eigenschaften in der Klasse MainForm zugreifen. Bsp.:
Code:
form1 form = new Form1( (IGeräteCollection) this );
// im Form1:
IGeräteCollection  m_IGeräteColl;
public Form1( IGeräteCollection GeräteColl ){
	InitializeComponent();
	m_IGeräteColl = GeräteColl;
}
// Gerät ausgewählt.
IGeräteColl.Add( v_sAuswahl );
Diese Variante ist hilfreicher wenn die 2 Forms immer Aktiv sind.
Solange dein kleines Form1 aber nur als Dialog fungiert ist das aber nicht notwendig.
Wenn Du noch Fragen hast, dann frag.

MfG, cosmo
 
Zuletzt bearbeitet:
Hallo,

Vielen Herzlichen Dank, daß funktioniert jetzt super. Ich habe das ohne Interface gemacht und deine erste (für mich einfachere) Variante genommen.


Grüße und Danke nochmal
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück