从一个应用程序启动多个表单

时间:2014-01-24 09:23:31

标签: c# winforms dll

我有4个旧的上传模块。这些上传模块使用了很久以前写过的dll。这个项目丢失了,我真的不想反编译这个dll。

我想有一个上传模块,他们可以从中选择这4个上传模块中的一个。

他们都在program.cs中有这段代码:

[STAThread]
static void Main()
{
  new APACMiscUM();
}

此类触发dll。

namespace ApacMiscUploadModule
{
    class APACMiscUM : UploadModule.UploadModule
    {
        public override void applicationStart()
        {
            showMessage("Upload Module", Color.Green);
            Connection = new SqlConnection("X");
        }
        public override void fileSelected()
        { ... }
    }
}

创建新对象(APACMiscUM)时,dll(UploadModule.UploadModule)创建接口。 如何在单击新表单上的按钮后激活此表单?

附加信息:

enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

保存从APACMiscUM创建的对象。调用对象方法,我想这很简单。

[STAThread]
static void Main()
{
  var classObject = new APACMiscUM();
  var someReturnTyoe = classObject.SomeMethod(SomeArgument)
}

答案 1 :(得分:1)

将upload-modules(APACMiscUM.cs,APACUM.cs,EMEASeiUM.cs和EMEAUM.cs)复制到Windows窗体项目。引用upload-dll。在表单上放置四个按钮。创建如下代码:

    private void button1_Click(object sender, EventArgs e)
    {
        new APACMiscUM();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        new APACUM();
    }

    private void button3_Click(object sender, EventArgs e)
    {
        new EMEASeiUM();
    }

    private void button4_Click(object sender, EventArgs e)
    {
        new EMEAUM();
    }

这很简单。