如果不以编程方式执行,如何显示 ContextMenuToolStripItem?

How can a ContextMenuToolStripItem be displayed, without doing it programmatically?

我接手了一个项目,其中包含对某些表单的一些 UltraWinGrid 控件。

在我开始这个项目之前就存在的原始表格之一,有一个 ContextMenuStrip,上面只有一个 ContextMenuToolstripItem,标题为 'Default for Column' .

ContextMenuStrip 默认隐藏,但是,当用户 right-clicks 在 UltraGrid 上时,ContextMenuStripItem 显示在网格上(而不是在它们的顶部形成 ContextMenuStrip 所在的位置)。

我正在尝试以我自己添加的新形式复制此行为,但是,在添加 ContextMenuToolstripItem 之后,当 right-clicking 我的网格时我无法显示它.

我在旧形式 class 中的每个子例程上都设置了一个断点,其中 none 个在 right-clicking 时触发。

此外,我还在 class 中搜索了 DefaultForColumnToolstripMenuItem,它唯一出现的地方是 ContextMenuToolStripItem 本身的 Click 事件。

那么,当 right-clicking 网格时,还有什么可能显示它呢?我已经将旧表格中的 ContextMenuStrip 复制并粘贴到新表格中,但仍然没有任何反应。

我假设它在我丢失的 属性 某处?

检查 UltraWinGrid 上的 ContextMenuStrip 属性。您可以在设计器中设置它,您的上下文菜单将在右键单击时出现,而无需处理 MouseClick 处理程序、检查所使用的鼠标按钮等。