alt text http://img413.imageshack.us/img413/9417/snapshotapp.jpg
这里是与ListView控件相关的ContextMenuStrip。然而,右键点击选项(编辑)会出现在我单击ListView区域的任何位置,这会导致异常错误,因为编辑实现只能处理选定行。我希望它只在选定行(蓝色高亮行)上出现。我该怎么做?
alt text http://img413.imageshack.us/img413/9417/snapshotapp.jpg
这里是与ListView控件相关的ContextMenuStrip。然而,右键点击选项(编辑)会出现在我单击ListView区域的任何位置,这会导致异常错误,因为编辑实现只能处理选定行。我希望它只在选定行(蓝色高亮行)上出现。我该怎么做?
将ContextMenuStrip属性重置为(none)。 实现MouseUp事件处理程序,并使用ListView.HitTest()查找单击的位置。例如:
private void listView1_MouseUp(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Right) {
var loc = listView1.HitTest(e.Location);
if (loc.Item != null) contextMenuStrip1.Show(listView1, e.Location);
}
}