Infragistics 上下文菜单未关闭

Infragistics context menu not closing

在我的应用程序中,我使用了 Infragistics 控件。有时一切正常,但有时如果单击其他任何地方,上下文菜单不会关闭。 例子: 1)右键单击项目 2)单击上下文菜单外的某处 3) 上下文菜单应该关闭,但有时它会保持打开状态,直到您单击其中的一个项目。

知道为什么会这样吗?

一些代码,如何创建上下文菜单并将其添加到网格。

Dim contextualMenu As PopupMenuTool = New PopupMenuTool(key)
contextualMenu.DropDownArrowStyle = Infragistics.Win.UltraWinToolbars.DropDownArrowStyle.SegmentedStateButton
AddHandler contextualMenu.BeforeToolDropdown, AddressOf Me.contextualMenu_BeforeToolDropdown

Dim deleteItem As ButtonTool = New ButtonTool("delete")
deleteItem.SharedProps.AppearancesSmall.Appearance.Image = ImagesResources.Delete
deleteItem.SharedProps.Caption = Captions.Delete
AddHandler deleteItem.ToolClick, AddressOf Me.DeleteClick

Dim closeItem As ButtonTool = New ButtonTool("close")
closeItem.SharedProps.AppearancesSmall.Appearance.Image = ImagesResources.Close
closeItem.SharedProps.Caption = Captions.Close
AddHandler closeItem.ToolClick, AddressOf Me.CloseClick

Me.BaseToolbarsManager.Tools.Add(contextualMenu)
Me.BaseToolbarsManager.Tools.Add(closeItem)
Me.BaseToolbarsManager.Tools.Add(deleteItem)

contextualMenu.Tools.AddTool(deleteItem.Key)
contextualMenu.Tools.AddTool(closeItem.Key)

Me.SetcontextualMenu(Me.grid, key)

根据我上面的评论,在可见和不可见调用之后尝试调用此函数:

Private Sub MyDoEvents()
    Dim CurrMsg         As MSG

    'The following loop extract all messages from the queue and dispatch them
    'to the appropriate window.
    Do While PeekMessage(CurrMsg, 0, 0, 0, PM_REMOVE) <> 0
        TranslateMessage CurrMsg
        DispatchMessage CurrMsg
    Loop
End Sub

这将确保代码在单元格单击事件中得到执行。