单击空白区域时未触发ListView单击事件

本文关键字:单击 ListView 事件 空白 区域 | 更新日期: 2023-09-27 18:11:46

我有一个ListView控件在我的表单。我已将其显示模式设置为LargeImageList。我需要处理这个控件中的项。所以我已经为它的click事件写了代码。但是我现在看到,当我在它里面的一个空白区域click时,这个事件没有被触发。

如何让我的ListView意识到点击它的区域,无论

单击空白区域时未触发ListView单击事件

要捕获鼠标在ListView项周围的"空白"上的点击,您需要使用MouseDown/MouseUp事件。

这也将捕获对条目的点击。

我使用全局鼠标钩子来解决类似的问题。你可以用它来检测屏幕上任何地方的鼠标点击,然后检查点击是否在listview控件范围内。

从鼠标全局键钩

获取代码
IKeyboardMouseEvents m_GolbalHook = Hook.GlobalEvents();
m_GolbalHook.MouseClick += m_GolbalHook_MouseClick;

private void m_GolbalHook_MouseClick(object sender, MouseEventArgs e)
{
    if (listView.Bounds.Contains(e.Location)) && (e.Button == System.Windows.Forms.MouseButtons.Left))
    {
         //Do Stuff
    }
}