簡體   English   中英

如何用右鍵單擊ListViewItem打開上下文菜單

[英]How to open a context menu with right click on a ListViewItem

標題基本概括了所有內容。 有人可以向我解釋如何通過選擇然后右鍵單擊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);

使用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並顯示上下文菜單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM