我想将相同的ContextMenuStrip分配给窗体上的所有ListViewItems。这些ListViewItems是动态创建的。
不幸的是,似乎ListViewItems没有可以分配给的ContextMenuStrip属性(当然,ListView本身也可以)。
我是否只需要将ContextMenuStrip分配给ListView,然后根据ListView当前选择的项目,从那里继续?
最佳答案
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);
}
}
}