C# 委托调用另一个窗体的函数
网上看了一些委托的办法,感觉代码实在太过复杂,还是没有弄清楚委托的写法,请教各位一下具体应该怎么写比如我这里有一个窗体F2,另一个窗体F1,F2里面进行一些操作,操作完成...
网上看了一些委托的办法,感觉代码实在太过复杂,还是没有弄清楚委托的写法,请教各位一下具体应该怎么写
比如我这里有一个窗体F2,另一个窗体F1,F2里面进行一些操作,操作完成之后想通过F2上面的“完成”按钮来触发一个委托,到达F1之后调用F1里面的一个func函数对F1进行操作,这样应该如何写委托?请不吝赐教 展开
比如我这里有一个窗体F2,另一个窗体F1,F2里面进行一些操作,操作完成之后想通过F2上面的“完成”按钮来触发一个委托,到达F1之后调用F1里面的一个func函数对F1进行操作,这样应该如何写委托?请不吝赐教 展开
2个回答
展开全部
定义一个委托:这里可以把这个定义看着是定义了一个“类”。
delegate void EventHandler();(假设F1里面的func函数是void func()样式)
1.F2这个窗口对应的类可以这样声明一个事件委托:
public event EventHandler Update;(这里可以看着是声明了一个委托类型的变量)
2.在F2这个窗口类里写一个调用Update的方法:
public void Notify(){ Update(); }(因为事件委托只能在类里面被调用);
3.在F2的“完成”按钮里加入下面代码:
F2(对象).Update += new EventHandler(F1(对象).func);
这样当你点击“完成”按钮就会调用F1里的func函数了。
具体你可以代码调试一下,不一定完全正确:)
delegate void EventHandler();(假设F1里面的func函数是void func()样式)
1.F2这个窗口对应的类可以这样声明一个事件委托:
public event EventHandler Update;(这里可以看着是声明了一个委托类型的变量)
2.在F2这个窗口类里写一个调用Update的方法:
public void Notify(){ Update(); }(因为事件委托只能在类里面被调用);
3.在F2的“完成”按钮里加入下面代码:
F2(对象).Update += new EventHandler(F1(对象).func);
这样当你点击“完成”按钮就会调用F1里的func函数了。
具体你可以代码调试一下,不一定完全正确:)
追问
可是我想问一下,直接调用F1好像不行呢,因为F1只是一个类而已,没有获得它的实例是没办法调用它的函数的,怎么处理?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个委托:这里可以把这个定义看着是定义了一个“类”。
delegate void EventHandler();(假设F1里面的func函数是void func()样式)
1.F2这个窗口对应的类可以这样声明一个事件委托:
public event EventHandler Update;(这里可以看着是声明了一个委托类型的变量)
2.在F2这个窗口类里写一个调用Update的方法:
public void Notify(){ Update(); }(因为事件委托只能在类里面被调用);
3.在F2的“完成”按钮里加入下面代码:
F2(对象).Update += new EventHandler(F1(对象).func);
这样当你点击“完成”按钮就会调用F1里的func函数了。
具体你可以代码调试一下,不一定完全正确:)
delegate void EventHandler();(假设F1里面的func函数是void func()样式)
1.F2这个窗口对应的类可以这样声明一个事件委托:
public event EventHandler Update;(这里可以看着是声明了一个委托类型的变量)
2.在F2这个窗口类里写一个调用Update的方法:
public void Notify(){ Update(); }(因为事件委托只能在类里面被调用);
3.在F2的“完成”按钮里加入下面代码:
F2(对象).Update += new EventHandler(F1(对象).func);
这样当你点击“完成”按钮就会调用F1里的func函数了。
具体你可以代码调试一下,不一定完全正确:)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询