C#如何使用RightClick选择ListBox项?

use*_*782 3 c# listbox selection winforms

我已经为此尝试了很多方法并完成了数小时的研究,但它似乎永远不会对我有用.

这是我目前的代码,我不知道它为什么不起作用.

    private void listBox1_MouseDown(object sender, MouseEventArgs e)
    {
        listBox1.SelectedIndex = listBox1.IndexFromPoint(e.X, e.Y);
        if (e.Button == MouseButtons.Right)
        {
            contextMenuStrip1.Show();
        }
    }
Run Code Online (Sandbox Code Playgroud)

此外,我不关心可以删除的上下文菜单我只是想找到一种方法来鼠标右键选择我点击的项目.

有任何想法吗?

Han*_*ant 8

你很近,你忘了选择项目.固定:

    private void listBox1_MouseUp(object sender, MouseEventArgs e) {
        if (e.Button == MouseButtons.Right) {
            var item = listBox1.IndexFromPoint(e.Location);
            if (item >= 0) {
                listBox1.SelectedIndex = item;
                contextMenuStrip1.Show(listBox1, e.Location);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)