窗体A和B,在A中自定义了事件EventA,并在其中触发,在窗体B中向事件EventA注册了处理方法methodB。假设此后窗体B的实例就被销毁了,我的疑问是:从委托的基本概念可以知道,B虽然已经销毁了,之前注册的方法methodB应该是仍然存在、仍然有效的。那么,如果此时窗体A触发了事件EventA,程序还会执行方法methodB吗?或者说程序会崩溃掉?
望高手指教,解释下其中的道理,谢谢!
望高手指教,解释下其中的道理,谢谢!
解决方案 »
- 这是教材里的代码,这个if语句是不是应该放在 cbbUserJFType.Text = ds.Tables[0].之后啊?为什么放在前边也可以呢?
- 【高分请教】图解..WinForm操作Excel的问题...
- sql查詢結果合並計算
- 关于树控件的问题!
- 如何完成这项功能:读一段HTML文本然后根据标签构造服务器控件?
- 挑战你的知识水平:关于在存储过程中使用表名变量!
- HELP!---水滴入水池
- C#winfroms窗体问题!请高手指导下。。。。急啊!! 急死我啦!!!!!!!!!!!!!!
- 如何合并数组最高效内存占用最小
- 小弟正在研究C#,有些困惑和各位交流下,敬请指点。
- 线程的问题
- 迫切需求一个WinForm中实现Gamma曲线设置的控件
{
this.Text = "OK";
this.Show();
}结果发现程序确实在B销毁之后,仍然会去执行方法,但是语句this.Text = "OK";正常,而语句this.Show();则会报对象不存在的错误。
怎么解释呢?盼高手出现。
B根本不可能被GC真正销毁,因为还有其它对象的属性引用它呢。
你Close后再Show应该也会报同样的错误。