用句柄调用公共子

时间:2015-07-16 20:48:38

标签: vb.net

尝试做一些可能很简单的事情。当您在列表视图中激活项目时,我会触发事件。

我想从另一个地方调用此事件(在这种情况下是一个计时器,但这不会有太大变化)。

我的潜艇:

Public Sub AccountChecker_AccountList_ItemActivate(sender As Object, e As EventArgs) Handles AccountChecker_AccountList.ItemActivate
    [...My Code]
End Sub

即使我没有激活项目,我想要执行此操作。但是,我可以找到任何“点击”列表视图项目。

我试过这样的事情:

AccountChecker_AccountList_ItemActivate(x,y)

我可能需要x和y才能做到这一点。这个函数中的对象和EventArgs是什么,所以我可以调用它?

的问候,

2 个答案:

答案 0 :(得分:3)

如果我理解正确,你就不能触发由eventhandler为itemactivate-event调用的sub。 你可以写一个功能或一个做你需要的子。如果需要激活项目的名称,可以将其作为参数传递到子/函数中。 您可以在触发事件或计时器到达目标时调用它。您可以向函数添加参数以扩展它。 这也使得重用代码变得更加容易:)

 Private Sub BTN_Run_Click(sender As Object, e As EventArgs) Handles BTN_Run.Click

    ListViewAction(ListViewItem)

End Sub

public sub ListViewAction(byval ListviewItem as string)
' do your stuff here 
end sub 

答案 1 :(得分:1)

sender通常是调用方法的对象,因此您可以使用Me。您可以将EventArgs.Empty用于e,即

AccountChecker_AccountList_ItemActivate(Me, EventArgs.Empty)

但是,它可能取决于您在sender中对[...My Code]的实际操作 - 某些处理程序可能会认为它是特定类型,并且可能不喜欢传递随机对象!