各位大大好 小弟在使用AddHandler 的指令上 时 发生的一些问题 所以想请教一下各位大哥
就是我写了两个副程式
Sub Combin()
AddHandler BTN.Click,Sub() Test(DDL,SSP)
end Sub
当我按了BTN这个按钮后 会触发Test的副程式
然后我另外写了一个副程式要去解除这个功能
Sub UnCombine()
RemoveHandler BTN.Click,Sub() Test(DDL,SSP)
End Sub
但现在发生的问题是 我似乎无法这样写 去解除BTN 这个按钮触发Test 的副程式
我叫了UnCombine 的副程式后 按了BTN的按钮 它还是继续在呼叫Test的副程式
此外 编译器这边跑出了一些警告讯习
Lambda 运算式将不会从这个事件处理常式中移除,请将Lambda 运算式指派给变数,然后使用该变树来加入和移除事件
这是什么意思啊????? 请有经验的大大协助我解决问题 谢谢
------解决思路----------------------
添加,删除匿名方法注册的事件,只是个“花子”,展示下能实现,但最终不建议这么干,你本来就是要添加和删除的,就别用匿名了,给自己找麻烦呢么。
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
AddHandler Button3.Click, AddressOf MyButtonClick
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
RemoveHandler Button3.Click, AddressOf MyButtonClick
End Sub
Private Sub MyButtonClick(ByVal sender As System.Object, ByVal e As System.EventArgs)
MessageBox.Show("test")
End Sub
End Class
是可以移除的