是否有可能以编程方式触发ListView中的项目操作,就像您在其上执行操作一样?

时间:2015-08-04 00:28:06

标签: winforms listview action

我在那里搜索,但我无法找到答案。我需要启动ListView项目操作,因此它会引发ItemActivate事件。目前,它只能使用ENTER键或双击...我想知道我是否可以通过编程方式执行此操作,例如:

listView.Items[int].Activate();

当然,这不起作用,因为那里没有实现Activate()函数。例如,我无法找到如何以编程方式触发按钮,但在键入时出现的上下文菜单中就是这样:

buttonX.PerformClick();

...它会触发button_click事件。我想知道在ListView控件中是否有类似的东西用于触发其中的项目?我希望它以编程方式提升此事件,而不是通过鼠标双击或键盘上的Enter键...

private void myListView_ItemActivate(object sender, EventArgs e)
    {
        MessageBox.Show("hello");
    }

1 个答案:

答案 0 :(得分:0)

根据the documentation,ListView中的EventHandler应该是公共的。所以你可以用以下方式举起活动:

myListView.ItemActivate(myListView, EventArgs.Empty);

这样,订阅此活动的每个人都会收到通知。

另一种方法当然是直接调用你的方法:

myListView_ItemActivate(this, EventArgs.Empty);

但这并没有真正归类为“提升事件”,因为你实际上并没有提出一个事件。你只需要调用一种方法。