Invoke过程为什么到了Sub End会重复调用?在线等~
两个文件,GetMarketPricesTask.vb和frmMain.vb
GetMarketPricesTask中有:
- VB.NET code
Public Delegate Sub OnGetMarketPricesDelegate(ByVal respUK As betfair.UK.exchange.GetMarketPricesResp, ByVal respAU As betfair.AU.exchange.GetMarketPricesResp, _ ByVal respBetUK As betfair.UK.exchange.GetCurrentBetsResp, ByVal respBetAU As betfair.AU.exchange.GetCurrentBetsResp) Public Shared Event OnGetMarketPrices As OnGetMarketPricesDelegate
然后是下面是一个Sub xxx
frmMain中:
- VB.NET code
AddHandler GetMarketPricesTask.OnGetMarketPrices, AddressOf GetMarketPricesTask_OnGetGetMarketPrices Private Sub GetMarketPricesTask_OnGetGetMarketPrices() If InvokeRequired Then Invoke(New Tasks.GetMarketPricesTask.OnGetMarketPricesDelegate(AddressOf GetMarketPricesTask_OnGetGetMarketPrices), New Object() {respUK, respAU, respBetUK, respBetAU}) Else'Do SomethingEnd If问题就是 GetMarketPricesTask_OnGetGetMarketPrices()这个过程总会重复调用,快崩溃了,每当调用一次,就多执行一次,如按钮第3次触发这个事件GetMarketPricesTask_OnGetGetMarketPrices()这个过程就会重复执行3次,里面的内容都会被执行3次,为什么啊,怎么都搞不明白,求救!~!!!!
[解决办法]
你是不是在按钮的Click中执行的添加事件???