C#在一个解决方案中两个项目之间怎么互相调用窗体

时间:2022-08-29 13:45:26
在一个解决方案中两个项目之间怎么互相调用窗体

例如:一个解决方案中有一个A项目和一个B项目,如何让A项目中的某一个窗体弹出B项目中的某一个窗体,并且让B项目中弹出的这个窗体,可以能接收到A项目中某一个窗体传过来的值呀。

请高手指点一下,急。。。。。。。。。。。。

20 个解决方案

#1


iframe 

#2


在项目A中的引用 添加B项目,然后就按普通的窗体传值一样

#3


给A项目添加引用,选择B项目,然后,在A项目中的那个窗体类中,using B;
在A中就可以
B.Form1 bFrm = new B.Form1();
至于传参数的话,你可以在B.Form1类里面用构造函数传,也可以设置属性传
例如:在A.Form2类中
bFrm.a = this.txtBox1.Text;

#4


将b项目写成一个类,,直接引用,注意命名空间,,

#5


引用 3 楼 TerryLhw1983 的回复:
给A项目添加引用,选择B项目,然后,在A项目中的那个窗体类中,using B; 
在A中就可以 
B.Form1 bFrm = new B.Form1(); 
至于传参数的话,你可以在B.Form1类里面用构造函数传,也可以设置属性传 
例如:在A.Form2类中 
bFrm.a = this.txtBox1.Text;


记得把输出类型改成“类库”

#6


  private void button1_Click_1(object sender, EventArgs e)//Form1截面中的button1控件。
        {
            Form2 frmobj = new Form2();//Form2界面打开。
            frmobj.Show();
        }

#7


添加信用  A项目里添加B的引用

然后其他的都没什么区别。。。。数据传值什么的都是一样

#8


我在A里引用B,为什么在B里引用A的时候不让呀,弹出一个提示“未能添加“A”的引用。将此项目做为引用添加将导致循环依赖项”是怎么回事呀

#9


学习

#10


引用楼主 e19870221 的帖子:
在一个解决方案中两个项目之间怎么互相调用窗体 

例如:一个解决方案中有一个A项目和一个B项目,如何让A项目中的某一个窗体弹出B项目中的某一个窗体,并且让B项目中弹出的这个窗体,可以能接收到A项目中某一个窗体传过来的值呀。 

请高手指点一下,急。。。。。。。。。。。。


在A项目中添加B项目的引用,B项目中添加A项目的引用
如果两个项目的名称空间不同,在需要引用另一个项目窗体的类中,
导入命名空间,或使用类的完全限定名

#11


添加引用,对构造函数重写就可以了

#12


引用 8 楼 e19870221 的回复:
我在A里引用B,为什么在B里引用A的时候不让呀,弹出一个提示“未能添加“A”的引用。将此项目做为引用添加将导致循环依赖项”是怎么回事呀


是哦,不能循环依赖。
一般分多个项目主要目的是用于分层,
既然都有窗体害,都是表示层,就没必要放在两个项目中,
放在一个项目中就好了

#13


添加引用。
不过表示层还是放在一个层里吧

#14


和引用类没什么区别!

#15


引用 10 楼 happywind99 的回复:
引用楼主 e19870221 的帖子:
在一个解决方案中两个项目之间怎么互相调用窗体 

例如:一个解决方案中有一个A项目和一个B项目,如何让A项目中的某一个窗体弹出B项目中的某一个窗体,并且让B项目中弹出的这个窗体,可以能接收到A项目中某一个窗体传过来的值呀。 

请高手指点一下,急。。。。。。。。。。。。 



在A项目中添加B项目的引用,B项目中添加A项目的引用 
如果两个项目的名称空间不同,在需要引用另一个项目…


你能不能给个例子说明一下呀

#16


我是这样解决该问题的
我把Form全部写在同一个项目中,其他项目用到引用就好。

#17


如果一定要这样,一个用引用,一个用反射

#18


首先在A项目中先添加B的引用,并引入命名空间using b;

B b=new B();//在A项目中实例化B

B.form bf=new B.form();//实例化窗体

bf.Show();//显示窗体

传值可以利用构造函数传值也可以直接传值。

#19


都用反射吧。。
(Form )Assmelly.load("程序集").createinstance("Form name").Show();
这样不知道能不能搞定。。~

#20


添加对解决方案的引用!

#1


iframe 

#2


在项目A中的引用 添加B项目,然后就按普通的窗体传值一样

#3


给A项目添加引用,选择B项目,然后,在A项目中的那个窗体类中,using B;
在A中就可以
B.Form1 bFrm = new B.Form1();
至于传参数的话,你可以在B.Form1类里面用构造函数传,也可以设置属性传
例如:在A.Form2类中
bFrm.a = this.txtBox1.Text;

#4


将b项目写成一个类,,直接引用,注意命名空间,,

#5


引用 3 楼 TerryLhw1983 的回复:
给A项目添加引用,选择B项目,然后,在A项目中的那个窗体类中,using B; 
在A中就可以 
B.Form1 bFrm = new B.Form1(); 
至于传参数的话,你可以在B.Form1类里面用构造函数传,也可以设置属性传 
例如:在A.Form2类中 
bFrm.a = this.txtBox1.Text;


记得把输出类型改成“类库”

#6


  private void button1_Click_1(object sender, EventArgs e)//Form1截面中的button1控件。
        {
            Form2 frmobj = new Form2();//Form2界面打开。
            frmobj.Show();
        }

#7


添加信用  A项目里添加B的引用

然后其他的都没什么区别。。。。数据传值什么的都是一样

#8


我在A里引用B,为什么在B里引用A的时候不让呀,弹出一个提示“未能添加“A”的引用。将此项目做为引用添加将导致循环依赖项”是怎么回事呀

#9


学习

#10


引用楼主 e19870221 的帖子:
在一个解决方案中两个项目之间怎么互相调用窗体 

例如:一个解决方案中有一个A项目和一个B项目,如何让A项目中的某一个窗体弹出B项目中的某一个窗体,并且让B项目中弹出的这个窗体,可以能接收到A项目中某一个窗体传过来的值呀。 

请高手指点一下,急。。。。。。。。。。。。


在A项目中添加B项目的引用,B项目中添加A项目的引用
如果两个项目的名称空间不同,在需要引用另一个项目窗体的类中,
导入命名空间,或使用类的完全限定名

#11


添加引用,对构造函数重写就可以了

#12


引用 8 楼 e19870221 的回复:
我在A里引用B,为什么在B里引用A的时候不让呀,弹出一个提示“未能添加“A”的引用。将此项目做为引用添加将导致循环依赖项”是怎么回事呀


是哦,不能循环依赖。
一般分多个项目主要目的是用于分层,
既然都有窗体害,都是表示层,就没必要放在两个项目中,
放在一个项目中就好了

#13


添加引用。
不过表示层还是放在一个层里吧

#14


和引用类没什么区别!

#15


引用 10 楼 happywind99 的回复:
引用楼主 e19870221 的帖子:
在一个解决方案中两个项目之间怎么互相调用窗体 

例如:一个解决方案中有一个A项目和一个B项目,如何让A项目中的某一个窗体弹出B项目中的某一个窗体,并且让B项目中弹出的这个窗体,可以能接收到A项目中某一个窗体传过来的值呀。 

请高手指点一下,急。。。。。。。。。。。。 



在A项目中添加B项目的引用,B项目中添加A项目的引用 
如果两个项目的名称空间不同,在需要引用另一个项目…


你能不能给个例子说明一下呀

#16


我是这样解决该问题的
我把Form全部写在同一个项目中,其他项目用到引用就好。

#17


如果一定要这样,一个用引用,一个用反射

#18


首先在A项目中先添加B的引用,并引入命名空间using b;

B b=new B();//在A项目中实例化B

B.form bf=new B.form();//实例化窗体

bf.Show();//显示窗体

传值可以利用构造函数传值也可以直接传值。

#19


都用反射吧。。
(Form )Assmelly.load("程序集").createinstance("Form name").Show();
这样不知道能不能搞定。。~

#20


添加对解决方案的引用!

#21