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

0000 2009-06-09 11:41:45
在一个解决方案中两个项目之间怎么互相调用窗体

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

请高手指点一下,急。。。。。。。。。。。。
...全文
5139 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenjiaqin 2012-10-15
  • 打赏
  • 举报
回复
添加对解决方案的引用!
xxyping 2009-06-09
  • 打赏
  • 举报
回复
添加信用 A项目里添加B的引用

然后其他的都没什么区别。。。。数据传值什么的都是一样
heifengxia 2009-06-09
  • 打赏
  • 举报
回复
  private void button1_Click_1(object sender, EventArgs e)//Form1截面中的button1控件。
{
Form2 frmobj = new Form2();//Form2界面打开。
frmobj.Show();
}
zealot1021 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 TerryLhw1983 的回复:]
给A项目添加引用,选择B项目,然后,在A项目中的那个窗体类中,using B;
在A中就可以
B.Form1 bFrm = new B.Form1();
至于传参数的话,你可以在B.Form1类里面用构造函数传,也可以设置属性传
例如:在A.Form2类中
bFrm.a = this.txtBox1.Text;
[/Quote]

记得把输出类型改成“类库”
enaking 2009-06-09
  • 打赏
  • 举报
回复
将b项目写成一个类,,直接引用,注意命名空间,,
TerryLhw1983 2009-06-09
  • 打赏
  • 举报
回复
给A项目添加引用,选择B项目,然后,在A项目中的那个窗体类中,using B;
在A中就可以
B.Form1 bFrm = new B.Form1();
至于传参数的话,你可以在B.Form1类里面用构造函数传,也可以设置属性传
例如:在A.Form2类中
bFrm.a = this.txtBox1.Text;
jishengzu 2009-06-09
  • 打赏
  • 举报
回复
在项目A中的引用 添加B项目,然后就按普通的窗体传值一样
指间的风 2009-06-09
  • 打赏
  • 举报
回复
iframe
zenowolf 2009-06-09
  • 打赏
  • 举报
回复
都用反射吧。。
(Form )Assmelly.load("程序集").createinstance("Form name").Show();
这样不知道能不能搞定。。~
yangguangwei513 2009-06-09
  • 打赏
  • 举报
回复
首先在A项目中先添加B的引用,并引入命名空间using b;

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

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

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

传值可以利用构造函数传值也可以直接传值。
wartim 2009-06-09
  • 打赏
  • 举报
回复
如果一定要这样,一个用引用,一个用反射
jishengzu 2009-06-09
  • 打赏
  • 举报
回复
我是这样解决该问题的
我把Form全部写在同一个项目中,其他项目用到引用就好。
0000 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 happywind99 的回复:]
引用楼主 e19870221 的帖子:
在一个解决方案中两个项目之间怎么互相调用窗体

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

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



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

你能不能给个例子说明一下呀
龙宜坡 2009-06-09
  • 打赏
  • 举报
回复
和引用类没什么区别!
  • 打赏
  • 举报
回复
添加引用。
不过表示层还是放在一个层里吧
happywind99 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 e19870221 的回复:]
我在A里引用B,为什么在B里引用A的时候不让呀,弹出一个提示“未能添加“A”的引用。将此项目做为引用添加将导致循环依赖项”是怎么回事呀
[/Quote]

是哦,不能循环依赖。
一般分多个项目主要目的是用于分层,
既然都有窗体害,都是表示层,就没必要放在两个项目中,
放在一个项目中就好了
yuangang1011 2009-06-09
  • 打赏
  • 举报
回复
添加引用,对构造函数重写就可以了
happywind99 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 e19870221 的帖子:]
在一个解决方案中两个项目之间怎么互相调用窗体

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

请高手指点一下,急。。。。。。。。。。。。
[/Quote]

在A项目中添加B项目的引用,B项目中添加A项目的引用
如果两个项目的名称空间不同,在需要引用另一个项目窗体的类中,
导入命名空间,或使用类的完全限定名
welcomechenqi 2009-06-09
  • 打赏
  • 举报
回复
学习
0000 2009-06-09
  • 打赏
  • 举报
回复
我在A里引用B,为什么在B里引用A的时候不让呀,弹出一个提示“未能添加“A”的引用。将此项目做为引用添加将导致循环依赖项”是怎么回事呀

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧