2014-01-24 46 views
0

我有4箇舊的上傳模塊。這些上傳模塊利用了很久以前寫的人。這個項目丟失了,我真的不想去反編譯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 hereenter image description here

+0

「何時創建新對象」 - 哪個對象?哪種形式?哪個按鈕? !!!! – noelicus

+0

在program.cs中的Main函數中。它啓動對象APACMiscUM,並且此對象創建uploadmodule對象 – Freddy

回答

1

保存創建fromAPACMiscUM的對象。調用對象方法,我猜想很簡單。

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

我收到以下錯誤消息:在單個線程上啓動第二個消息循環不是有效的操作。改用Form.ShowDialog。 Form.ShowDialog不存在或者APACMiscUM.ShowDialog也不存在 – Freddy

+1

從主體中刪除stathread, –

1

複製上傳模塊(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(); 
    } 

這是相當簡單的。

+0

正確,但不幸的是,這並不奏效。您會收到此錯誤:在單個線程上啓動第二個消息循環不是有效的操作。改用Form.ShowDialog。 Form.ShowDialog不存在或APACMiscUM.ShowDialog也不存在 – Freddy

相關問題