我想将相同的 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);
}
}
}
关于c# - 有没有办法将 ContextMenuStrip 分配给 ListViewItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10126744/