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

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

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

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

有帮助吗?

解决方案

处理此问题的一种方法是使用上下文菜单的 Popup 事件来获取启动菜单的组合框的选定索引。当对话框关闭时重置所选索引。

其他提示

我想到了。

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

谢谢 DaveK 为我指明了正确的方向。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top