c# - 右键单击以选择列表框中的项目

标签 c# winforms select listbox right-click

我正在尝试制作一个项目列表,您可以通过右键单击并出现上下文菜单来执行多项操作。我已经完成了,没有任何问题。

但我想要它,这样当您右键单击一个项目时,而不是让当前项目处于选中状态,而是选择鼠标悬停的项目。

我已经研究了这个问题和其他相关问题,并且我尝试使用 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/

相关文章:

c# - 支持多个用户输入属性的应用程序架构

c# - C#中如何将string[]实现为string[]?

php - 从mysql中的多个表中获取结果

mysql - 根据数字从数据库中选择数据

c# - 短语 "URL reservation in HTTP.SYS"是什么意思?

c# - 是否有 .Net API 无需轮询即可检测 Windows 服务的状态更改?

c# - Windows 8 本地存储

c# - 将按钮添加到 Winforms DataGridView

c# - 查找datagridview复选框值时如何停止空引用异常?

php - SQL 问题 - 在两个日期之间进行选择