当前位置: 首页 > 知识库问答 >
问题:

清除 Visual Basic (Windows 应用程序) 中组合框的项

洪旻
2023-03-14

我写了这段代码来清除组合框中的项目

但我面临的问题是,当我从组合框1中选择“a”时,组合框2会显示“1”、“2”和“3”,假设我从组合框2中选择“1”,然后当我将组合框1的值更改为“b”时,组合框2的下拉菜单中会显示“4”、“5”和“6”,但组合框2中的选定值仍为“1”

If ComboBox1.text="a" then
ComboBox2.items.clear()
ComboBox2.items.add("1")
ComboBox2.items.add("2")
ComboBox2.items.add("3")
ElseIf ComboBox1.text="b" then
ComboBox2.items.clear()
ComboBox2.items.add("4")
ComboBox2.items.add("5")
ComboBox2.items.add("6")
ElseIf ComboBox1.text="c" then
ComboBox2.items.clear()
ComboBox2.items.add("7")
ComboBox2.items.add("8")
ComboBox2.items.add("9")
Else
ComboBox2.items.clear()
End if

共有1个答案

公孙驰
2023-03-14

我认为您要做的是更改框中的内容,因此选择旧的选定项目不再有任何意义。正如一些评论所建议的,您仍然选择了剩余索引。您需要将索引重置(为-1),以便没有选择任何内容。

这应该可以解决问题,方法是在每次清除/重新填充框内容时清除所选索引(未选择任何项目)。

If ComboBox1.text="a" then
    ComboBox2.items.clear()
    ComboBox2.SelectedIndex = -1
    ComboBox2.items.add("1")
    ComboBox2.items.add("2")
    ComboBox2.items.add("3")
ElseIf ComboBox1.text="b" then
    ComboBox2.items.clear()
    ComboBox2.SelectedIndex = -1
    ComboBox2.items.add("4")
    ComboBox2.items.add("5")
    ComboBox2.items.add("6")
ElseIf ComboBox1.text="c" then
    ComboBox2.items.clear()
    ComboBox2.SelectedIndex = -1
    ComboBox2.items.add("7")
    ComboBox2.items.add("8")
    ComboBox2.items.add("9")
Else
    ComboBox2.items.clear()
    ComboBox2.SelectedIndex = -1
End If
 类似资料:
  • 更新我的Android应用程序的www文件夹(使用Cordova 3.6.3)时,该应用程序会显示我的www的旧缓存版本。 如果我清除应用程序数据(来自Android- 当应用程序更新时(或每次应用程序启动时),如何强制应用程序清除缓存?

  • 我有一个简单的javafxgui,上面有一个HBox,它包含几个组合框,最终将充当过滤器。我不知道如何在单击“清除”按钮时将组合框的值重置为空字符串。任何提示都将不胜感激。 更新:这是我的代码,为我工作

  • 我有两个组合框。我正在填充这样的两个组合框。组合框1和2的名称是cmbpartyName和cmbprefPT2。 在这里,我从combox1中选择一个值,在它所选的索引更改事件中,如下所示。 由于两个组合框具有相同的值,如何从第二个组合框cmbPrefPT2中删除第一个组合框的选定值?

  • 我正在使用Spring Boot 2.3,并使用默认缓存机制使用app.properties.我定义了所有值: 例如,我利用了Spring存储库中的缓存: 它按预期工作。然而,Redis是我的几个应用程序中使用的集群,我需要第二个应用程序能够删除Redis中的一些/所有键。 应用程序A1利用缓存并将密钥放在里面。应用程序A2,需要清除部分密钥或所有密钥。 在A2中,我做到了: 但是当然,缓存名称列