/ / Por que o ContextMenu clique com o botão direito do mouse nos itens do ListView não está funcionando? - c #, .net, winforms, listview, contextmenu

Por que o ContextMenu clique com o botão direito do mouse nos itens do ListView não está funcionando? - c #, .net, winforms, listview, contextmenu

No topo da form1:

private ContextMenuStrip contextmenustrip1 = new ContextMenuStrip();

Então:

private void listView1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
ListView listView = sender as ListView;
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
ListViewItem item = listView.GetItemAt(e.X, e.Y);
if (item != null)
{
item.Selected = true;
contextmenustrip1.Show(listView, e.Location);
}
}
ContextMenu contextMenu = new System.Windows.Forms.ContextMenu();
MenuItem menuItem = new MenuItem("Cut");
menuItem.Click += new EventHandler(CutAction);
contextMenu.MenuItems.Add(menuItem);
menuItem = new MenuItem("Copy");
menuItem.Click += new EventHandler(CopyAction);
contextMenu.MenuItems.Add(menuItem);
menuItem = new MenuItem("Paste");
menuItem.Click += new EventHandler(PasteAction);
contextMenu.MenuItems.Add(menuItem);
}
}

Quando clico no item usando um ponto de interrupção, ele está chegando ao evento, mas o clique direito do mouse não está funcionando, mas com certeza ele não está mostrando os menus Cut Cut Paste.

Eu quero fazer isso quando eu faço clique direito sobreitem no listView mostrará o menu para o item atual. Não tenho certeza se eu deveria primeiro fazer mousedown primeiro ou algum outro evento não sei o que é mais lógica. Mas a idéia é mostrar o menu por clique direito do mouse no item.

Respostas:

1 para resposta № 1

Você não precisa fazer nada do acima. Simplesmente, ligue para o Click evento do item de menu.

Em primeiro lugar, defina o modo de visualização do seu ListView para Detalhes e, em seguida, defina o ContextMenuStrip Propriedade do ListView para contextMenuStrip1.

ContextMenuStrip:

O menu de atalho para exibir quando o usuário clica com o botão direito no controle.

Então, digamos para Cortar menu, ligue para o Click evento CutToolStripMenuItem. Da mesma forma, chame os eventos para Copy e Paste também e adicione seu código.

private void CutToolStripMenuItem_Click(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count != 0)
{
foreach (ListViewItem LItem in listView1.SelectedItems)
{
//Your code
}
}
}

right_click