vb.net selectedindex.text 空而无

vb.net selectedindex.text empty while it's not

我有一个带有组合框的表单,其中显示了通过查询从数据库中检索到的字符串。

当我单击其中一个组合框时,我调用了 ComboBox.Click 事件,该事件发出并进行查询并显示可以选择的所有可能值。

这是它开始表现奇怪的时候。我在代码中添加了一个语句:

Dim ac As ComboBox = DirectCast(sender, ComboBox) 
MsgBox("selected text " & ac.SelectedText)

这显示了一个空的消息框,但是当我在这段代码之后放置一个断点并检查它的内容时它有一个值。

它只发生在表单上的第一个组合框上,并且只有当我单击组合框时才会发生。如果我单击下拉箭头,它会在消息框中给出正确的字符串。 如果我先单击另一个组合框,然后单击此组合框,它就会正常工作。

无论如何,我想要做的是,当用户在组合框中单击时,显示的索引不会改变。我注意到 selectedindex 在第一个实例中始终为 -1。所以这就是为什么我想保存文本值以在值列表中查找它并将索引设置到正确的位置。

如果有人有更好的选择,我很高兴听到。

没关系。我将组合框单击事件更改为组合框 gotfocus 事件。这似乎适用于单击组合框和单击组合框下拉箭头。