C#-触发器”;右键单击“;上下文菜单之前的事件

本文关键字:菜单 上下文 事件 触发器 右键 单击 C#- | 更新日期: 2023-09-27 18:27:54

我想做的是在上下文菜单显示前右键单击列表框中的一个项目。

我已经看到顺序是相反的:上下文菜单首先弹出,一旦被处理,右键单击事件就会触发。

这是我的列表框(及其关联的上下文菜单):https://i.gyazo.com/b2b2d7d5f8094db9c7e62565df2cafb9.png

这将是我的右键点击事件:

private void listBox1_MouseClick(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Right)
        {
            listBox1.SelectedIndex = listBox1.IndexFromPoint(e.X, e.Y);
        }
    }

我看过很多帖子,但没有一篇真正解释如何管理触发事件的顺序。

C#-触发器”;右键单击“;上下文菜单之前的事件

@Panagiotis Kanavos:"使用MouseDown,而不是MouseClick事件。当您的应用程序接收到MouseDown和MouseUp事件时,会引发Mouselick事件。"

这就成功了:)