I am writing a WindowsForms application in MS Visual C # and I need two forms in order to be able to link to each other. When I test, I created two buttons on Form1 - one button that displays Form2 and another button that hides it (code below).
I want to do the same for Form2 - create two buttons that hide or show Form1. I used the same method as for Form1, but when I compile the application, it seems to fall into an infinite loop and I get a StackOverflow message.
How can I change the code so that both forms can refer to each other?
Form Code 1:
namespace WindowsFormsApplication1 { public partial class Form1 : Form { Form2 frm2; public Form1() { InitializeComponent(); frm2 = new Form2(); } private void button1_Click(object sender, EventArgs e) { frm2.Visible = false; } private void button2_Click(object sender, EventArgs e) { frm2.Visible = true; } } }
Form Code 2:
namespace WindowsFormsApplication1 { public partial class Form2 : Form { Form1 frm1; public Form2() { InitializeComponent(); frm1 = new Form1(); } private void button1_Click(object sender, EventArgs e) { frm1.Visible = false; } private void button2_Click(object sender, EventArgs e) { frm1.Visible = true; } } }
source share