如何通过右键单击ListViewItem打开上下文菜单

时间:2016-07-08 12:12:11

标签: c# winforms listview

标题几乎说明了一切。有人可以向我解释如何通过选择然后右键单击ListViewItem的{​​{1}}来打开上下文菜单吗?

我尝试使用以下代码

ListView

但我不知道如何使用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

1 个答案:

答案 0 :(得分:0)

使用listView1.ContextMenu=contexMenu1

将contextmenu绑定到listview

然后您可以在listView1.MouseDown

中使用以下代码
ListViewHitTestInfo lstHitTestInfo = listView1.HitTest(e.X, e.Y);
                if (e.Button == MouseButtons.Right)
                {
                    if (lstHitTestInfo.Item != null)
                    {
                        listView1.ContextMenuStrip = contextMenuStrip1;
                    }
                }

这将选择listviewitem并显示contextmenu。