Aus Form2 auf textBox aus Form1 zugreifen?

Das GET und SET bezieht sich nur auf die Variablenfreigabe, sprich:
du hast in der Form2 die beiden Textfelder auf public gesetzt, also hat jede andere Klasse, die ein Objekt dieser Klasse erzeugt auf diese Felder sowohl schreibenden, wie auch lesenden Zugriff. Dies ist vielleicht nicht immer gewünscht.

Deshalb hat man die Möglichkeit mittels GET (lesenden Zugriff erlauben) bzw. SET (schreibenden Zugriff erlauben) eine Eigenschaft anzulegen, die beispielsweise nur eines dieser Aktionen für eine Variable freigibt. In diesem Fall also nur schreibenden Zugriff.
 
Also du setzt die beiden Textboxen wieder auf public

Code:
  public System.Windows.Forms.TextBox textBox1Form2;
  public System.Windows.Forms.TextBox textBox2Form2;

und fügst in der Form2 folgende Eigenschaften hinzu:

Code:
	public string SchreibeTextBox1Form2
	{
		set { this.textBox1Form2.Text = value; }
	}

	public string SchreibeTextBox2Form2
	{
		set { this.textBox2Form2.Text = value; }
	}

Jetzt kann in der Form2 auf die Textboxen nur noch über die Eigenschaften "SchreibeTextBox1Form2" und "SchreibeTextBox2Form2" zugegriffen werden. Also muss du jetzt nur noch in der Form1 beim gedrückten Button folgender Code schreiben.

Code:
	Form2 f2 = new Form2();
	f2.SchreibeTextBox1Form2 = this.textBox1Form1.Text;
	f2.SchreibeTextBox2Form2 = this.textBox2Form1.Text;
	f2.Show();

Und schon hast du einen "sauberen" Variablenzugriff vollzogen.
 

Neue Beiträge

Zurück