尝试做一些可能很简单的事情。当您在列表视图中激活项目时,我会触发事件。
我想从另一个地方调用此事件(在这种情况下是一个计时器,但这不会有太大变化)。
我的潜艇:
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是什么,所以我可以调用它?
的问候,
答案 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]
的实际操作 - 某些处理程序可能会认为它是特定类型,并且可能不喜欢传递随机对象!