Good day.
What I need to achieve:
Still access Form1 controls (more on performclick buttons) & when I minimize the Form1 , the Form2 is not get affected.
Want to copy >> Jitbit Macro Recorder Toolbar when recording or playing.
What i got:
Form1:
Form2 form2= new Form2();
private void Form1_Load(object sender, EventArgs e)
{
form2.Show();
}
Form2:
Form1 form1;
private void Form2_Load(object sender, EventArgs e)
{
form1 = (Form1)this.Owner;
}
private void Button1_Click(object sender, EventArgs e)
{
form1.buttonRecord.PerformClick();
form1.WindowState = FormWindowState.Minimized;
}
If you really want to go down that road you could make your click handler public and call it.
Form1:
Form2 form2= new Form2();
private void Form1_Load(object sender, EventArgs e)
{
form2.Owner = this;
form2.Show();
}
public void ButtonRecord_Click(object sender, EventArgs e)
{
}
Form2:
Form1 form1;
private void Form2_Load(object sender, EventArgs e)
{
form1 = (Form1)this.Owner;
}
private void Button1_Click(object sender, EventArgs e)
{
form1.ButtonRecord_Click(sender, e);
form1.WindowState = FormWindowState.Minimized;
}
What you are basically doing is a cirlucar reference between the two forms, which is not ideal. You could consider using events like this:
Form1:
Form2 form2= new Form2();
private void Form1_Load(object sender, EventArgs e)
{
form2.Show();
form2.Test += (s, ee) => MessageBox.Show("test event");
}
Form2:
public event EventHandler Test;
private void Button1_Click(object sender, EventArgs e)
{
Test?.Invoke(this, EventArgs.Empty);
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.