Для передачи данных из дочерней формы в родительскую, мы создадим, я бы назвал так, промежуточное свойство на главной форме. Потом передаем ссылку в дочернюю форму. Там записываем значение в это промежуточное свойство. При активации родительской формы, значение из промежуточного свойства будет записано в переменную элемента управления, которое должно отображать это значение на родительской форме.
FormChild.cs
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace_0019 {-
publicpartialclassFormChild : Form { -
publicFormChild() { -
InitializeComponent(); -
} -
privatevoidbutton1_Click(objectsender, EventArgs e) { -
DialogResult dialog = MessageBox.Show( -
"Вы уверены?", -
"", -
MessageBoxButtons.YesNo, -
MessageBoxIcon.Question -
); -
if(dialog == DialogResult.Yes) { -
//выводим результат в дочерней форме -
label2.Text = textBox1.Text; -
/*создаем переменную родительской формы (Form1)и присваиваем -
ей значение через ссылку на родительскую форму*/ -
Form1 F1 = (Form1)this.Owner; -
//присваиваем значение свойству в родительской форме -
//F1.Between = textBox1.Text; -
F1.Label2.Text = textBox1.Text; -
} -
} -
} }
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace_0019 {-
publicpartialclassFormChild : Form { -
publicFormChild() { -
InitializeComponent(); -
} -
privatevoidbutton1_Click(objectsender, EventArgs e) { -
DialogResult dialog = MessageBox.Show( -
"Вы уверены?", -
"", -
MessageBoxButtons.YesNo, -
MessageBoxIcon.Question -
); -
if(dialog == DialogResult.Yes) { -
//выводим результат в дочерней форме -
label2.Text = textBox1.Text; -
/*создаем переменную родительской формы (Form1)и присваиваем -
ей значение через ссылку на родительскую форму*/ -
Form1 F1 = (Form1)this.Owner; -
//присваиваем значение свойству в родительской форме -
//F1.Between = textBox1.Text; -
F1.Label2.Text = textBox1.Text; -
} -
} -
} }
Form1.cs
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace_0019 {-
publicpartialclassForm1 : Form { -
//ВНИМАНИЕ!!! -
//если мы создадим промежуточное свойство с модификатором public -
//типа string, которому будут присваиваться значения из дочерней -
//формы, то значение на родительской форме появится только тогда, -
//когда она станет активной -
publicstringBetween {set;get;} -
//а вот если создать свойство с модификатором public с типом -
//элемента, которому будут передаваться значения из дочерней формы, -
//то значение на родительской форме появится даже тогда, -
//когда форма будет не активна!!! -
publicLabel Label2 { -
set{ -
label2 = value; -
} -
get{ -
returnlabel2; -
} -
} -
publicForm1() { -
InitializeComponent(); -
} -
privatevoidbutton1_Click(objectsender, EventArgs e) { -
//открываем дочернюю форму и передаем ей ссылку -
newFormChild().Show(this); -
} -
privatevoidForm1_Activated(objectsender, EventArgs e) { -
//label2.Text = Between; -
label2.Text = Label2.Text; -
} -
privatevoidbutton2_Click(objectsender, EventArgs e) { -
label2.Text =string.Empty; -
} -
} }
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace_0019 {-
publicpartialclassForm1 : Form { -
//ВНИМАНИЕ!!! -
//если мы создадим промежуточное свойство с модификатором public -
//типа string, которому будут присваиваться значения из дочерней -
//формы, то значение на родительской форме появится только тогда, -
//когда она станет активной -
publicstringBetween {set;get;} -
//а вот если создать свойство с модификатором public с типом -
//элемента, которому будут передаваться значения из дочерней формы, -
//то значение на родительской форме появится даже тогда, -
//когда форма будет не активна!!! -
publicLabel Label2 { -
set{ -
label2 = value; -
} -
get{ -
returnlabel2; -
} -
} -
publicForm1() { -
InitializeComponent(); -
} -
privatevoidbutton1_Click(objectsender, EventArgs e) { -
//открываем дочернюю форму и передаем ей ссылку -
newFormChild().Show(this); -
} -
privatevoidForm1_Activated(objectsender, EventArgs e) { -
//label2.Text = Between; -
label2.Text = Label2.Text; -
} -
privatevoidbutton2_Click(objectsender, EventArgs e) { -
label2.Text =string.Empty; -
} -
} }