在类库或winform项目中打开另一个winform项目的窗体

时间:2021-08-18 15:05:40

假设类库或winform项目为A,另一个winform项目为B.那麽在A中添加一个接口,里面有一个Show方法,然后在B中写一个类b继承这个接口,并重写这个方法,具体内容为弹出某个窗体.然后在A中另一个类a中实例化B中的b类,并把它赋给A中的接口,然后调用接口的Show方法就可以弹出B中指定的窗体.

需要注意的是项目A和项目B需要互相引入对方的EXE或DLL文件.

转自:http://blog.csdn.net/a1027/article/details/2766396

以下为代码部分:

 namespace His
{
3 public interface IShow
{
5 void Show();
6 }
}

namespace EMRApp
{
public class CShow:IShow
{
public void Show()
{
Form frm = new Form();
frm.Text = "测试EMRAPP窗口";
frm.Show();
}
}
} namespace His
{
public class CTransfShow
{
public void aaa()
{
IShow ish = new CShow();
ish.Show(); //here
}
}
}

namespace His
{
  public partial class Form1 : Form
  {
    public Form1()
    {
    InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
      CTransfShow ct = new CTransfShow();
      ct.aaa();
    }
  }
}