我想将相同的ContextMenuStrip分配给表单上的所有ListViewItems。这些ListViewItems是动态创建的。
不幸的是,似乎ListViewItems没有可以分配的ContextMenuStrip属性(当然,ListView本身也是如此)。
我是否必须将ContextMenuStrip分配给ListView,然后根据ListView当前选择的项目从那里开始?
答案 0 :(得分: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);
}
}
}