2017-11-11 17 views
0

데이터베이스의 쿼리로 검색된 문자열을 표시하는 콤보 상자가있는 양식이 있습니다.vb.net selectedindex.text가 비어있는 동안 비어 있음

콤보 상자 중 하나를 클릭하면 나가는 ComboBox.Click 이벤트를 호출하고 쿼리를 수행하고 선택할 수있는 모든 가능한 값을 표시합니다.

이상한 행동이 시작되었습니다. 내가 좋아하는 코드에 문을 넣어 :

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

이 빈 메시지 박스를 보여 주지만,이 코드 후 중단 권리를 넣어 때 값이있는 내용을 확인합니다.

debug

그리고 양식의 첫 번째 콤보 상자에서만 일어나고 만 내가 콤보 상자에서 클릭 할 때. 드롭 다운 화살표를 클릭하면 메시지 상자에 올바른 문자열이 표시됩니다. 다른 콤보 상자를 처음 클릭하면이 콤보 상자가 올바르게 작동합니다.

어쨌든, 내가하려는 것은 사용자가 콤보 박스에서 클릭 할 때 표시되는 색인이 변경되지 않는다는 것입니다. 내가 알아챈 것은 selectedindex가 첫 번째 인스턴스에서 항상 -1이라는 것입니다. 그래서 텍스트 값을 저장하여 값 목록에서 찾아 색인을 올바른 위치로 설정하려고합니다.

누군가가 더 나은 대안을 가지고 있다면 기쁘게 생각합니다.

답변

0

신경 쓰지 마세요. 나는 대신에 combobox 클릭 이벤트를 combobox gotfocus 이벤트로 변경했습니다. 이것은 콤보 박스에서 클릭하고 콤보 박스 드롭 다운 화살표를 클릭하는 경우 모두 작동하는 것으로 보입니다.