Для передачи данных из дочерней формы в родительскую, мы создадим, я бы назвал так, промежуточное свойство на главной форме. Потом передаем ссылку в дочернюю форму. Там записываем значение в это промежуточное свойство. При активации родительской формы, значение из промежуточного свойства будет записано в переменную элемента управления, которое должно отображать это значение на родительской форме.
FormChild.cs
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
_0019 {
-
public
partial
class
FormChild : Form {
-
public
FormChild() {
-
InitializeComponent();
-
}
-
private
void
button1_Click(
object
sender, 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;
-
}
-
}
-
}
}
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
_0019 {
-
public
partial
class
FormChild : Form {
-
public
FormChild() {
-
InitializeComponent();
-
}
-
private
void
button1_Click(
object
sender, 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
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
_0019 {
-
public
partial
class
Form1 : Form {
-
//ВНИМАНИЕ!!!
-
//если мы создадим промежуточное свойство с модификатором public
-
//типа string, которому будут присваиваться значения из дочерней
-
//формы, то значение на родительской форме появится только тогда,
-
//когда она станет активной
-
public
string
Between {
set
;
get
;}
-
//а вот если создать свойство с модификатором public с типом
-
//элемента, которому будут передаваться значения из дочерней формы,
-
//то значение на родительской форме появится даже тогда,
-
//когда форма будет не активна!!!
-
public
Label Label2 {
-
set
{
-
label2 = value;
-
}
-
get
{
-
return
label2;
-
}
-
}
-
public
Form1() {
-
InitializeComponent();
-
}
-
private
void
button1_Click(
object
sender, EventArgs e) {
-
//открываем дочернюю форму и передаем ей ссылку
-
new
FormChild().Show(
this
);
-
}
-
private
void
Form1_Activated(
object
sender, EventArgs e) {
-
//label2.Text = Between;
-
label2.Text = Label2.Text;
-
}
-
private
void
button2_Click(
object
sender, EventArgs e) {
-
label2.Text =
string
.Empty;
-
}
-
}
}
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
_0019 {
-
public
partial
class
Form1 : Form {
-
//ВНИМАНИЕ!!!
-
//если мы создадим промежуточное свойство с модификатором public
-
//типа string, которому будут присваиваться значения из дочерней
-
//формы, то значение на родительской форме появится только тогда,
-
//когда она станет активной
-
public
string
Between {
set
;
get
;}
-
//а вот если создать свойство с модификатором public с типом
-
//элемента, которому будут передаваться значения из дочерней формы,
-
//то значение на родительской форме появится даже тогда,
-
//когда форма будет не активна!!!
-
public
Label Label2 {
-
set
{
-
label2 = value;
-
}
-
get
{
-
return
label2;
-
}
-
}
-
public
Form1() {
-
InitializeComponent();
-
}
-
private
void
button1_Click(
object
sender, EventArgs e) {
-
//открываем дочернюю форму и передаем ей ссылку
-
new
FormChild().Show(
this
);
-
}
-
private
void
Form1_Activated(
object
sender, EventArgs e) {
-
//label2.Text = Between;
-
label2.Text = Label2.Text;
-
}
-
private
void
button2_Click(
object
sender, EventArgs e) {
-
label2.Text =
string
.Empty;
-
}
-
}
}