2016-10-19 44 views
0

我對ComboBoxes有這個奇怪的問題。組合框抹去內容時按下Enter鍵的建議

我有一個組合框填充了來自數據庫的條目。但是,這個問題與數據庫或其內容無關。

當我按下組合框上的向下箭頭,然後在SuggestAppend打開時鍵入項目內容的一部分時,它將擦除文本而不是完成該行。如果我只是鍵入,那麼問題不會發生。只有當我先把名​​單放下。

您可以通過在空白表單上創建一個組合框來重新創建它。給它一些項目,將它的AutoCompleteSource設置爲ListItems並將AutoCompleteMode設置爲SuggestAppend。

現在,在運行應用程序時,刪除列表,不要退出此列表,只需輸入部分條目即可。然後按回車。它將擦除組合框文本的內容。

有沒有解決這個bug的方法?

+0

我不知道它是否是你想要的行爲,但你可以添加一個'KeyPress'事件到該組合框,它將設置'YourComboBox.DroppedDown = False'。這讓您只能看到建議框,並且在您按Enter時不會清除 –

+0

請將此作爲答案。它解決了我的問題,你是我的英雄。 – Kayot

回答

1

只有當建議框和包含項目的框同時可見時,問題纔會出現。

添加KeyPress處理程序到您的組合框並設置DroppedDown屬性False象下面這樣:

Private Sub YourCombo_KeyPress(sender As Object, e As KeyPressEventArgs) Handles YourCombo.KeyPress 
    YourCombo.DroppedDown = False 
End Sub 

這將關閉物品箱,並保持建議框中可見。當你按下輸入時,它將不再清除文本。