如何通过右键单击列表视图项打开上下文菜单
本文关键字:上下文 菜单 视图 何通过 右键 单击 列表 | 更新日期: 2023-09-27 17:56:04
标题几乎说明了一切。有人可以向我解释如何通过选择然后右键单击ListView
的ListViewItem
来打开上下文菜单吗?
我尝试使用以下代码
private void listView1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (listView1.FocusedItem.Bounds.Contains(e.Location) == true)
{
contextMenuStrip1.Show(Cursor.Position);
}
}
}
但是我不知道如何使用ListView
注册此事件处理程序。每次尝试时,我都会收到委托参数错误的错误,因为我使用 MouseEventArgs
而不是 EventArgs
.
这是我用来注册EventHandler
的错误代码
this.listView1.MouseClick += new System.EventHandler(this.listView1_MouseClick);
使用 listView1.ContextMenu=contexMenu1
将上下文菜单绑定到列表视图
然后你可以在listView1.MouseDown
中使用以下代码
ListViewHitTestInfo lstHitTestInfo = listView1.HitTest(e.X, e.Y);
if (e.Button == MouseButtons.Right)
{
if (lstHitTestInfo.Item != null)
{
listView1.ContextMenuStrip = contextMenuStrip1;
}
}
这将选择列表视图项并显示上下文菜单。