如何从不同的项目中获得两个窗体,相互显示和隐藏?

时间:2017-07-05 11:15:55

标签: c# visual-studio circular-dependency

when i click on "opens testing2" it goes to form1 of testing2

这是测试文件的Form1.cs的代码:

        Testing2.Form1 t2 = new Testing2.Form1();
        t2.Show();
        this.Hide();

当我点击"回到测试"我想要打开测试的Form1.cs。我试图在Testing2上添加引用,它给出了以下错误: enter image description here

1 个答案:

答案 0 :(得分:0)

Testing2.Form1中,添加一个属性:

public Form CallingForm {get; set;}

然后改变:

Testing2.Form1 t2 = new Testing2.Form1();
t2.Show();
this.Hide();

为:

Testing2.Form1 t2 = new Testing2.Form1();
t2.CallingForm = this;
t2.Show();
this.Hide();

然后,当您想要显示Testing2.Form1的原始表单时,请执行以下操作:

if (CallingForm != null)
    CallingForm.Show();

这将适用于您的目的 - 但您将无法从Testing.Form1实际实例化Testing2.Form1(因为这确实会引入循环依赖)。