2015-12-24 44 views
0

我想要做的是在contextmenustrip显示之前右键单击它时在列表框中选择一个项目。C# - 在上下文菜单之前触发“右键单击”事件

我已经看到,顺序是另外的:上下文菜单首先弹出,一旦处置,右键点击事件触发。

这是我的列表框(及其相关的上下文菜单): 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); 
     } 
    } 

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

+0

使用MouseDown,*不* MouseClick事件。当您的应用程序接收到MouseDown和MouseUp事件时,会引发MouseClick事件。 –

回答

0

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

这只是诀窍:)

相关问题