2012-04-12 92 views
3

我想为窗体上的所有ListViewItems分配相同的ContextMenuStrip。这些ListViewItems是动态创建的。有没有办法将一个ContextMenuStrip分配给ListViewItem?

不幸的是,似乎ListViewItems没有可以分配给(当然,ListView本身)的ContextMenuStrip属性。

我需要将ContextMenuStrip分配给ListView,然后根据ListView的当前选择的项目,从那里继续吗?

回答

5
private void listView1_MouseDown(object sender, MouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
     var hitTestInfo = listView1.HitTest(e.X, e.Y); 
     if (hitTestInfo.Item != null) 
     { 
      var loc = e.Location; 
      loc.Offset(listView1.Location); 

      // Adjust context menu (or it's contents) based on hitTestInfo details 
      this.contextMenuStrip2.Show(this, loc); 
     } 
    } 
} 
+0

谢谢大家分享! – zionpi 2013-06-06 02:59:58

相关问题