我有个主程序,一个有窗体的DLL
主程序通过 Assembly.LoadFrom 动态加载的DLL
DLL 的窗体上有个 数据保存的按钮,如何在保存后 通知主程序数据保存成功????
最好有代码,谢谢!!!!!!!
主程序通过 Assembly.LoadFrom 动态加载的DLL
DLL 的窗体上有个 数据保存的按钮,如何在保存后 通知主程序数据保存成功????
最好有代码,谢谢!!!!!!!
解决方案 »
- wpf怎么用com组件(可能是winform的com组件),弄了1天了,真的没办法了,请帮忙
- c#代码定义和取出
- C#调用excel模板后根据模板中自定义数据库字段同cell定位生成多sheet的excel文件
- C# 窗体和多线程问题
- 关于隐藏
- 我的javascript载入不了xml文件,不知道怎么搞的
- 文件(doc,pdf)存入数据库,怎样从数据库读取出来并按原来格式(word,pdf)显示出来
- 新手求助,一个类型转换的小问题。
- N个数组,从每个数组中取出1个 求所有的组合
- 我的代码已经添加了事件btnEditRptTemplate_Click,为何有时候又产生了btnEditRptTemplate_Click_1事件?
- C# 中关于List<T>遍历问题?
- 怎么将dataset里面的一列数据保存为double数组
父窗口 也需要定义一个 Delegate 吗?
有较详细的代码吗? 谢谢!!!
public delegate void TaskComplateDelegate ();public TaskComplateDelegate TaskComplateCallback;任务完成后
if (TaskComplateCallback != null)
TaskComplateCallback();主窗口SubForm subForm = new SubForm();
subForm.TaskComplateCallback = new TaskComplateDelegate(SubformComplate);private void SubformComplate()
{....
}这样子窗口就不依赖父窗口了。代码都是手写的,可能有些许错误,但是意思已经表述明确了。
Using Delegates to Communication Between Windows Forms
http://www.c-sharpcorner.com/UploadFile/mosessaur/winformsdelegates09042006094826AM/winformsdelegates.aspx
http://hi.baidu.com/xinerlian/blog/item/26ed58b7144341f230add13c.html
Assembly ass = Assembly.LoadFrom(strFileDll);
Type type = ass.GetType( +"Test.Init");//
Object obj = Activator.CreateInstance(type, null);//
Form frmObj = (Form)obj;//subForm.TaskComplateCallback = new TaskComplateDelegate(SubformComplate);
这里我该怎么写???
Assembly ass = Assembly.LoadFrom(strFileDll);
Type type = ass.GetType( +"Test.Init");//
Object obj = Activator.CreateInstance(type, null);//
Form frmObj = (Form)obj;//subForm.TaskComplateCallback = new TaskComplateDelegate(SubformComplate);
这里我该怎么写???
http://msdn.microsoft.com/en-us/library/ms228976(v=vs.100).aspx还有一个办法,是加入一个新的工程,在里面定义interface. 像SetCompleteCall(TaskCompleteDelegate callback); subform和父form都引用这个新工程。
Subform实现interface. 父form中 强制转换成interface 类型,并调用SetCompleteCall函数。
InterfaceType frmObj = (InterfaceType)obj;
frmObj.SetCompleteCall(***);这种方法要把delegate定义到interface中。