代码之家  ›  专栏  ›  技术社区  ›  Bryan Roth

上下文菜单重置组合框的SelectedIndex

  •  0
  • Bryan Roth  · 技术社区  · 16 年前

    我有一个ContextMenu,它在用户右键单击组合框后显示。当用户在上下文菜单中选择一个项目时,将使用 ShowDialog() 方法。

    If frmOptions.ShowDialog() = Windows.Forms.DialogResult.Cancel Then
        LoadComboBoxes()
    End If
    

    当该窗体关闭时,我刷新父窗体上组合框中的所有数据。但是,当发生这种情况时,打开ContextMenu的组合框将重置为具有-1的选定索引,但其他组合框的其他选定索引保持不变。

    如何防止打开上下文菜单的组合框被重置?

    2 回复  |  直到 7 年前
        1
  •  1
  •   DaveK    16 年前

    处理这种情况的一种方法是使用上下文菜单的弹出事件来获取启动菜单的组合框的选定索引。当对话框关闭时,重置所选索引。

        2
  •  0
  •   Bryan Roth    16 年前

    我知道了。

    我创建了一个方法 contextmenu.sourcecontrol()。 属性,以便我可以操作调用ContextMenu的控件。在方法的开头,我得到了 选择值 并重新加载组合框中的数据。然后我设置了 选择值 到方法开始时得到的值。

    谢谢你,戴夫给我指明了正确的方向。