【问题标题】:How to open a context menu with right click on a ListViewItem如何通过右键单击 ListViewItem 打开上下文菜单
【发布时间】:2016-07-08 12:12:11
【问题描述】:

标题几乎说明了一切。有人可以向我解释如何通过选择并右键单击 ListViewItemListView 来打开上下文菜单吗?

我尝试使用以下代码

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);

【问题讨论】:

标签: c# winforms listview


【解决方案1】:

使用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;
                    }
                }

这将选择列表视图项并显示上下文菜单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 2016-12-31
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多