在MouseDown事件中选择ListBox控件(WinForm& C#)中的项目

时间:2011-11-16 23:35:49

标签: c# .net winforms listbox

在Windows窗体的ListBox控件中,如果我将一个ContextMenuStrip设置为在项目上的MouseDown事件上显示,则将显示ContextMenuStrip,但不会选中我单击右键的项目..项目可以是只有在我点击左键时选择..

在DataGrid视图中,我可以使用HitTest()方法修复它,以检查当前位置上的项目,然后选择它,然后显示ContextMenuStrip。但不幸的是在ListBox中没有HitTest方法..

有办法吗?

1 个答案:

答案 0 :(得分:7)

您可以使用IndexFromPoint方法:

private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
    int index = listBox1.IndexFromPoint(e.Location);
    listBox1.SelectedIndex = index;
}