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

 假设类库或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

以下为代码部分:

 1 namespace His
 2 {
 3   public interface IShow
 4   {
 5     void Show();
 6   }
 7 }
8 namespace EMRApp 9 { 10 public class CShow:IShow 11 { 12 public void Show() 13 { 14 Form frm = new Form(); 15 frm.Text = "测试EMRAPP窗口"; 16 frm.Show(); 17 } 18 } 19 } 20 21 namespace His 22 { 23 public class CTransfShow 24 { 25 public void aaa() 26 { 27 IShow ish = new CShow(); 28 ish.Show(); //here 29 } 30 } 31 }

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

 

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

上一篇:c#分页读取GB文本文件


下一篇:用C#编写5个关于考试的5个类,考试信息管理