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

6 .net c# listbox winforms

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

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

有办法吗?

Tho*_*que 8

您可以使用以下IndexFromPoint方法:

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