Как привязать данные из Form1 in Form2?
Есть 4 формы.
Форма1 - является родительской для всех остальных форм, из неё и происходит вызов остальных.
Форма 2 и 3 - реализуют роботу со строками.
Форма 4 - есть сборщиком результатов с Формы1 и Формы2.
Теперь к делу
У формах 2 та 3 есть конечные текстбоксы в которых написан текст,а у форме 4 есть текстбокс в который нужно записать эти текстбоксы из форм 2 и 3 причем так что бы Форма4 не открывалась много раз.
Вот часть которая отвечает за связь между формами.
Код:
Form4 ch = new Form4();
ch.textBox1.Text = textBox2.Text;
ch.ShowDialog();
ch.textBox1.Text = textBox2.Text;
ch.ShowDialog();
И так вопрос! Как сделать так что бы Форма 4 открылась после запуска Формы2 один раз и потом после запуска Формы 3 в неё дописывался текст.
Прошу срочной помощи о великие программисты) Выручайте не опытного студента.
Код:
class Form1{
Form2 f2;
Form3 f3;
Form4 f4;
public Form1(){
f4 = new Form4();
f2 = new Form2(this.f4);
f3 = new Form3(this.f4);
}
//...
}
class Form2{
Form4 f4;
public Form2(Form4 form){
this.f4 = form;
}
private void SetForm4(){
this.f4.textBox2.Text = this.textBox2.Text;
if(!this.f4.Visible)
this.f4.ShowDialog();
}
//....
}
class Form3{
Form4 f4;
public Form3(Form4 form){
this.f4 = form;
}
private void SetForm4(){
this.f4.textBox1.Text = this.textBox1.Text;
if(!this.f4.Visible)
this.f4.ShowDialog();
}
//....
}
class Form4{
bool visible = false;
public bool Visible{ get{ return this.visible; } set{ this.visible = value; }}
private void Form4_Closing(object sender, EventArgs e){
e.Cancel = true;
this.visible = false;
this.Hide();
}
private void Form4_Load(...){
this.visible = true;
}
//....
}
Form2 f2;
Form3 f3;
Form4 f4;
public Form1(){
f4 = new Form4();
f2 = new Form2(this.f4);
f3 = new Form3(this.f4);
}
//...
}
class Form2{
Form4 f4;
public Form2(Form4 form){
this.f4 = form;
}
private void SetForm4(){
this.f4.textBox2.Text = this.textBox2.Text;
if(!this.f4.Visible)
this.f4.ShowDialog();
}
//....
}
class Form3{
Form4 f4;
public Form3(Form4 form){
this.f4 = form;
}
private void SetForm4(){
this.f4.textBox1.Text = this.textBox1.Text;
if(!this.f4.Visible)
this.f4.ShowDialog();
}
//....
}
class Form4{
bool visible = false;
public bool Visible{ get{ return this.visible; } set{ this.visible = value; }}
private void Form4_Closing(object sender, EventArgs e){
e.Cancel = true;
this.visible = false;
this.Hide();
}
private void Form4_Load(...){
this.visible = true;
}
//....
}
Код не проверял, но основная мысль примерно такая.