using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace StartFenster
{
public partial class StartFenster : Form
{
public StartFenster()
{
InitializeComponent();
}
private void ExitToolStripMenuItem_Click(object sender, EventArgs e)
{
//Das StartFenster wird geschlossen
Close();
}
private void Fenster1ToolStripMenuItem_Click(object sender, EventArgs e)
{
//Fenster1 soll geöffnet werden
//Fenster1 fenster1_oeffnen = new Fenster1 { MdiParent = this };
//Möchte man das nicht innerhalb eine MdiContainers lösen, dann löscht man
//nur { MdiParent = this } und ersetzt dies durch ()
Fenster1 fenster1_oeffnen = new Fenster1();
//Hier wird geprüft, ob das Fenster1 bereits geöffnet ist.
//Ist es geöffnet soll es mit fenster_offen.BringToFront();
//nur nach vorne geholt werden wenn schon mehrere Fenster geöffnet wurden.
Form fenster1_offen = Application.OpenForms["Fenster1"];
if (fenster1_offen == null)
{
fenster1_oeffnen.Show();
}
else
{
fenster1_offen.BringToFront();
}
}
private void Fenster2ToolStripMenuItem_Click(object sender, EventArgs e)
{
//Fenster1 soll geöffnet werden
//Fenster2 fenster2_oeffnen = new Fenster2 { MdiParent = this };
//Möchte man das nicht innerhalb eines MdiContainers lösen, dann löscht man
//nur { MdiParent = this } und ersetzt dies durch ()
Fenster2 fenster2_oeffnen = new Fenster2();
//Hier wird geprüft, ob das Fenster1 bereits geöffnet ist.
//Ist es geöffnet soll es mit fenster_offen.BringToFront();
//nur nach vorne geholt werden wenn schon mehrere Fenster geöffnet wurden.
Form fenster2_offen = Application.OpenForms["Fenster2"];
if (fenster2_offen == null)
{
fenster2_oeffnen.Show();
}
else
{
fenster2_offen.BringToFront();
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace StartFenster
{
public partial class Fenster1 : Form
{
//Die Variable die an ein anderes Fenster übergeben werden soll
public static string TextBox_aus_Fenster1;
string uebernommen_aus_fenster2;
public Fenster1()
{
InitializeComponent();
}
private void Exit_button_Click(object sender, EventArgs e)
{
Close();
}
private void Uebergabe_an_Fenster2_button_Click(object sender, EventArgs e)
{
//Der Inhalt der TextBox wird an die public Variable TextBox_aus_Fenster1 übergeben
TextBox_aus_Fenster1 = Fenster1_textBox.Text;
//Wurde Fenster2 noch nicht über das StatFenster geöffnet, so können wir das Fenster auch von
//hier öffnen und gleichzeitig die Variable übergeben.
//Dazu können wir den Code aus dem StarFenster kopieren und leicht modifiziert hier einsetzen.
//{ MdiParent = this } bezog sich auf das StatFenster "this" welches ein MdiContainer ist und alle
//untergeordneten Fenster beinhaltet!
//Darum muss hier { MdiParent = this } auf { MdiParent = ActiveForm } abgeändert werden.
//Es wird also nach dem ActivenForm "Fenster2" im MdiContainer StarFenster gesucht!
//Fenster2 fenster2_oeffnen = new Fenster2 { MdiParent = ActiveForm };
//Möchte man das nicht innerhalb eine MdiContainers lösen, dann löscht man
//nur { MdiParent = this } und ersetzt dies durch ()
Fenster2 fenster2_oeffnen = new Fenster2();
//Hier wird geprüft, ob das Fenster1 bereits geöffnet ist.
//Ist es geöffnet soll es mit fenster_offen.BringToFront();
//nur nach vorne geholt werden wenn schon mehrere Fenster geöffnet wurden.
Form fenster2_offen = Application.OpenForms["Fenster2"];
if (fenster2_offen == null)
{
fenster2_oeffnen.Show();
}
else
{
fenster2_offen.BringToFront();
}
//Um zu vermeiden das der Inhalt von TextBox_aus_Fenster1 jedemal neu übergeben wird,
//wenn man nur zwischen den Fenstern hin und her wechselt, leeren wir den Ihnalt
TextBox_aus_Fenster1 = "";
}
private void Fenster1_Activated(object sender, EventArgs e)
{
//Das ! bedeutet "ist nicht", also ist der String "Fenster2.TextBox_aus_Fenster2" nicht leer,
//dann soll der Inhalt aus Fenster2.TextBox_aus_Fenster2 an uebernommen_aus_fenster2 übergeben werden!
//uebernommen_aus_fenster2 wird dann an die Fenster1_textBox.Text übergeben, damit wir das Ergebnis
//auch sehen können!
if (!string.IsNullOrWhiteSpace(Fenster2.TextBox_aus_Fenster2))
{
//Unserer Anwendung muss natürlich noch mitgeteilt werden, wann diese denn die übergebene Variable
//empfangen soll! Das muss man sich selbst überlegen mit welchem Ereignis das geschehen soll.
//Es kommt halt darauf an, was man damit machen möchte.
//In unserem Beispiel realisieren wir das über das Activated Ereignis!
uebernommen_aus_fenster2 = Fenster2.TextBox_aus_Fenster2;
Fenster1_textBox.Text = uebernommen_aus_fenster2;
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace StartFenster
{
public partial class Fenster2 : Form
{
//Die Variable die an ein anderes Fenster übergeben werden soll
public static string TextBox_aus_Fenster2;
string uebernommen_aus_fenster1;
public Fenster2()
{
InitializeComponent();
}
private void Exit_button_Click(object sender, EventArgs e)
{
Close();
}
private void Uebergabe_an_Fenster1_button_Click(object sender, EventArgs e)
{
//Der Inhalt der TextBox wird an die public Variable TextBox_aus_Fenster1 übergeben
TextBox_aus_Fenster2 = Fenster2_textBox.Text;
//Wurde Fenster1 noch nicht über das StatFenster geöffnet, so können wir das Fenster auch von
//hier öffnen und gleichzeitig die Variable übergeben.
//Dazu können wir den Code aus dem StarFenster kopieren und leicht modifiziert hier einsetzen.
//{ MdiParent = this } bezog sich auf das StatFenster "this" welches ein MdiContainer ist und alle
//untergeordneten Fenster beinhaltet!
//Darum muss hier { MdiParent = this } auf { MdiParent = ActiveForm } abgeändert werden.
//Es wird also nach dem ActivenForm "Fenster1" im MdiContainer StarFenster gesucht!
//Fenster1 fenster1_oeffnen = new Fenster1 { MdiParent = ActiveForm };
//Möchte man das nicht innerhalb eine MdiContainers lösen, dann löscht man
//nur { MdiParent = this } und ersetzt dies durch ()
Fenster1 fenster1_oeffnen = new Fenster1();
//Hier wird geprüft, ob das Fenster1 bereits geöffnet ist.
//Ist es geöffnet soll es mit fenster_offen.BringToFront();
//nur nach vorne geholt werden wenn schon mehrere Fenster geöffnet wurden.
Form fenster1_offen = Application.OpenForms["Fenster1"];
if (fenster1_offen == null)
{
fenster1_oeffnen.Show();
}
else
{
fenster1_offen.BringToFront();
}
//Um zu vermeiden das der Inhalt von TextBox_aus_Fenster1 jedemal neu übergeben wird,
//wenn man nur zwischen den Fenstern hin und her wechselt, leeren wir den Ihnalt.
TextBox_aus_Fenster2 = "";
}
private void Fenster2_Activated(object sender, EventArgs e)
{
//Das ! bedeutet "ist nicht", also ist der String "Fenster2.TextBox_aus_Fenster1" nicht leer,
//dann soll der Inhalt aus Fenster1.TextBox_aus_Fenster1 an uebernommen_aus_fenster1 übergeben werden!
//uebernommen_aus_fenster1 wird dann an die Fenster2_textBox.Text übergeben, damit wir das Ergebnis
//auch sehen können!
if (!string.IsNullOrWhiteSpace(Fenster1.TextBox_aus_Fenster1))
{
//Unserer Anwendung muss natürlich noch mitgeteilt werden, wann diese denn die übergebene Variable
//empfangen soll! Das muss man sich selbst überlegen mit welchem Ereignis das geschehen soll.
//Es kommt halt darauf an, was man damit machen möchte.
//In unserem Beispiel realisieren wir das über das Activated Ereignis!
uebernommen_aus_fenster1 = Fenster1.TextBox_aus_Fenster1;
Fenster2_textBox.Text = uebernommen_aus_fenster1;
}
}
}
}