3
在我的c#應用程序中,我有一個進度條。 C#應用程序正在調用處理多個文件的C++/cli dll。由於每個文件都在dll中處理,我想跟蹤它在c#應用程序中的進度。爲此,我需要在C++/cli中引發一個事件並在C#中使用它。從MSDN我收集我需要在我的C++/CLI類中的以下內容:在C++/cli dll中引發事件並在c中消耗
delegate void Del(int);
event Del^ E;
void fire(int i) {
E(i);
}
在MSDN事件的接收器是在同一個C++/CLI項目,它展示瞭如何提升事件。在我的項目中,c#應用程序將接收在處理每個文件後應該用C++/cli引發的事件。我也搜索了很多,但還沒有弄清楚。所以,我的問題是,我如何在C++/cli中引發這個事件,以及如何將我的c#程序連接到它?一些代碼顯示了這樣做的方式將不勝感激。 謝謝!
馬特, 感謝您的迴應。 在C#我想
MW.Class1 oM = new MW.Class1();
oM.fire += ProgressBarChanged(int i);
它不會編譯說不能分配,因爲火是方法組。我也有我的C#程序,處理程序
public void ProgressBarChanged(int i)
{
}
這確實更好雖然編譯器說INT預計不會和由於錯誤消息指出不編譯
oM.fire += new EventHandler(ProgressBarChanged(int i));
您將附加到C#中的事件,就像您將附加到C#中的任何其他事件一樣。向我們展示您在C#中嘗試過哪些方法無效。 –
我編輯並添加了更多信息給我的問題 – user2192008