C# 如何检测上下文菜单消失?

C# 如何检测上下文菜单消失?,c#,winforms,contextmenu,C#,Winforms,Contextmenu,我需要做一个弹出菜单和按钮,使其显示控制,并已改变(按下)在弹出菜单可见的时间外观 目前,我正在使用外观属性设置为按钮和关联菜单的复选框。但是,检测菜单从任何原因消失的时刻,然后单击其中一个项目(这会生成可处理的单击事件)——例如,当表单被单击时——没有成功,因为没有发生“折叠”事件。因此,“向下箭头按钮”并没有按预期更改其外观 如何检测ContextMenu的消失?“崩溃”事件发生的条件是什么 另外,在相关的说明中,我曾经尝试将listbox设置为顶级窗口来实现同样的功能;当表单被点击时,它改

我需要做一个弹出菜单和按钮,使其显示控制,并已改变(按下)在弹出菜单可见的时间外观

目前,我正在使用外观属性设置为按钮和关联菜单的复选框。但是,检测菜单从任何原因消失的时刻,然后单击其中一个项目(这会生成可处理的单击事件)——例如,当表单被单击时——没有成功,因为没有发生“折叠”事件。因此,“向下箭头按钮”并没有按预期更改其外观

如何检测ContextMenu的消失?“崩溃”事件发生的条件是什么

另外,在相关的说明中,我曾经尝试将listbox设置为顶级窗口来实现同样的功能;当表单被点击时,它改变了外观,但没有失去焦点。如果您能帮助检测事件发生的时间,我们将不胜感激。

如果您使用,您可以处理关闭菜单时引发的关闭事件

如何检测ContextMenu的消失?发生“崩溃”事件的条件是什么


在调用
Show

之前,仅当ContextMenu设置为控件的ContextMenu时才会引发
Collapsed
事件。谢谢。它确实包含了我所需要的功能,尽管我仍然对回答我最初的问题非常感兴趣——因为我曾经需要从地上写下下拉列表。这解释了很多。我没有将上下文菜单绑定到控件,这样它就不会在右键单击时出现。