winforms - contextMenuStrip - 单击关闭

标签 winforms events contextmenustrip

我有一个带有ContextMenuStripDataGridView。 ContextMenuStrip 的默认行为是自动关闭 - 即在用户与其交互时立即关闭。我已关闭此功能以允许多个用户交互(这就是我想要的),但除此之外,我真正需要的是上下文菜单随后在用户单击其自身之外的任何位置时关闭。

用户单击的空间可能直接在表单上,​​或者在子控件(或子控件的子控件等)上。但无论如何,我希望巧妙地捕获“点击离开”事件,从而关闭 ContextMenuStrip。

任何想法都将非常感激。

塔米姆。

最佳答案

只需在 ContextMenuStrip 上的 LostFocus 事件中将其关闭即可。

设置AutoClose属性返回到 true 并处理 Closing 事件。仅当 CloseReason 时才取消关闭ToolStripDropDownClosedEventArgs的属性(property)等于ItemClicked

关于winforms - contextMenuStrip - 单击关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1539164/

相关文章:

c# - 从嵌套的 ToolStripMenuItem 检索时,ContextMenuStrip.Owner 属性为 null

c# - 如何从另一个类访问表单元素

c# - 如何更改 DateTime 对象在 DataGridView 中的显示方式

C# 多个 SelectionChanged 事件

.NET 事件 - 什么是对象发送者和 EventArgs e?

c# - 如何根据子查询中的子查询插入值

c# - SevenZipSharp - 如何使用 C# 将多个目录压缩到一个文件中?

wpf - 事件命令中的Validation.error事件

c# - 创建控件的透明部分以查看其下方的控件