ContextMenuStrip 在模式窗体中被禁用

ContextMenuStrip is Disabled within a Modal Form

我在尝试在模态对话框(使用 .ShowDialog() 方法显示的自定义 Winform)中的 DataGridView 上实现上下文菜单时遇到了一些奇怪的行为。

当我将上下文菜单添加到 DataGridView(使用相关的 属性)时,我可以在设计器中编辑项目、分配事件以及您期望的所有其他内容。

当我启动表单时,上下文菜单被禁用。它在右键单击时出现,但不接受任何输入并且不显示鼠标悬停颜色。经过反复试验,我发现只有当我使用 .ShowDialog() 而不是 .Show() 将表单显示为模态对话框时才会出现这种情况。

我不知道为什么这是预期的行为;有没有其他人遇到过这个?如果是这样,您能解释一下为什么会这样吗?是否有一种解决方法可以让我在模态对话框上使用 ContextMenuStrips...?

与我预期的完全不同。在模态窗体的启动时,我将上下文菜单的可见性更改为 true ...我打算对另一个控件执行此操作。无论出于何种原因,这都是问题的根源。