Main form
public partial class Form1:form
{
Public Form1 ()
{
LoginForm dlg = new LoginForm ();
Dlg. StartPosition = formstartposition.centerparent;
Dlg. ShowDialog ();
InitializeComponent ();
This. StartPosition = Formstartposition.centerscreen;
}
Parent forms define delegates and events
public delegate void Changetxt (string text);
public event Changetxt Changestxt_event;
private void Button1_Click (object sender, EventArgs e)
{
Form2 frm = new Form2 (this);//Pass Form 1 pointer
Child Form Subscription Events
Frm.changeftext_event + = new Form2.changetext (frm_changetext_event);
frm. StartPosition = Formstartposition.centerscreen;
frm. Show (this);//The form is not placed outside the parent form
}
void Frm_changetext_event (String text)
{
TextBox1.Text = Text;
}
private void Button2_Click (object sender, EventArgs e)
{
Changestxt_event (TextBox1.Text);
}
}
Child form
public partial class Form2:form
{
Public Form2 (Form1 frm)
{
InitializeComponent ();
Subscribe to Events
Frm.changestxt_event + = new Form1.changetxt (frm_changestxt_event);
}
Child forms Define Delegate events
public delegate void Changetext (string text);
public event Changetext Changeftext_event;
Update method
void Frm_changestxt_event (String text)
{
TextBox1.Text = Text;
}
private void Button1_Click (object sender, EventArgs e)
{
Changeftext_event (TextBox1.Text);
}
}
Window form Parent-child forms update each other