在Windows窗体的ListBox控件中,如果我将一个ContextMenuStrip设置为在项目上的MouseDown事件上显示,则将显示ContextMenuStrip,但不会选中我单击右键的项目..项目可以是只有在我点击左键时选择..
在DataGrid视图中,我可以使用HitTest()方法修复它,以检查当前位置上的项目,然后选择它,然后显示ContextMenuStrip。但不幸的是在ListBox中没有HitTest方法..
有办法吗?
答案 0 :(得分:7)
您可以使用IndexFromPoint
方法:
private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
int index = listBox1.IndexFromPoint(e.Location);
listBox1.SelectedIndex = index;
}