我正在尝试制作一个项目列表,您可以通过右键单击并出现上下文菜单来执行多项操作。我已经完成了,没有任何问题。
但我想要它,这样当您右键单击一个项目时,而不是让当前项目处于选中状态,而是选择鼠标悬停的项目。
我已经研究了这个问题和其他相关问题,并且我尝试使用 indexFromPoint(我通过研究发现)但是每当我右键单击一个项目时,它总是只会清除所选项目并且不显示上下文菜单,如我所设置的那样,如果没有选定的项目,它就不会出现。
这是我目前使用的代码:
ListBox.SelectedIndex = ListBox.IndexFromPoint(Cursor.Position.X, Cursor.Position.Y);
最佳答案
处理 ListBox.MouseDown
并选择其中的项目。像这样:
private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
listBox1.SelectedIndex = listBox1.IndexFromPoint(e.X, e.Y);
}
关于c# - 右键单击以选择列表框中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9220501/