日期:2014-05-17  浏览次数:21175 次

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

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

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

------解决方案--------------------
在项目A中的引用 添加B项目,然后就按普通的窗体传值一样
------解决方案--------------------
给A项目添加引用,选择B项目,然后,在A项目中的那个窗体类中,using B;
在A中就可以
B.Form1 bFrm = new B.Form1();
至于传参数的话,你可以在B.Form1类里面用构造函数传,也可以设置属性传
例如:在A.Form2类中
bFrm.a = this.txtBox1.Text;
------解决方案--------------------
将b项目写成一个类,,直接引用,注意命名空间,,
------解决方案--------------------
探讨
给A项目添加引用,选择B项目,然后,在A项目中的那个窗体类中,using B;
在A中就可以
B.Form1 bFrm = new B.Form1();
至于传参数的话,你可以在B.Form1类里面用构造函数传,也可以设置属性传
例如:在A.Form2类中
bFrm.a = this.txtBox1.Text;

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

------解决方案--------------------
添加信用 A项目里添加B的引用

然后其他的都没什么区别。。。。数据传值什么的都是一样
------解决方案--------------------
学习
------解决方案--------------------
引用楼主 e19870221 的帖子:
在一个解决方案中两个项目之间怎么互相调用窗体

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

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

------解决方案--------------------
添加引用,对构造函数重写就可以了
------解决方案--------------------
探讨
我在A里引用B,为什么在B里引用A的时候不让呀,弹出一个提示“未能添加“A”的引用。将此项目做为引用添加将导致循环依赖项”是怎么回事呀

------解决方案--------------------
添加引用。
不过表示层还是放在一个层里吧
------解决方案--------------------
和引用类没什么区别!
------解决方案--------------------
我是这样解决该问题的
我把Form全部写在同一个项目中,其他项目用到引用就好。

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

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

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

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

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

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