Tags:
textbox
listbox
Hej,
Jeg ønsker en søgefunktion der (uden brug af command button) via brugerinput i textbox1 finder og markerer det fundne ord i listbox1, og helst søger imens der skrives i textbox1. Programkoden ser foreløbigt sådan ud:
Private Sub TextBox1_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus 'empties textbox1 when get focus
TextBox1.Clear()
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged 'search listbox1 for word entered in textbox1
ListBox1.SelectedItem = ListBox1.FindString(TextBox1.Text)
If Not TextBox1.Text = "" Then
ListBox1.MultiColumn = False
ListBox1.SelectionMode = SelectionMode.MultiExtended
End If
ListBox1.Focus()
End Sub
Private Sub ListBox1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseWheel 'makes the mouewheel work in listbox1
If e.Delta > 0 Then
SendKeys.Send("{UP}") 'If the wheel is going up
Else
SendKeys.Send("{DOWN}") 'If the wheel is going down
End If
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'listbox1 contains this text
Button1.ForeColor = Color.Red 'Button that opens listbox1
ListBox1.Items.Clear()
ListBox1.Focus()
ListBox1.Items.Add("A command in military terminology is an organisational unit that the individual in Military command has responsibility for.")
end Sub
Mit problem er at det første bogstav jeg indtaster i textbox1 kan ses, men starter ingen søgning. Næste bogstav jeg taster kan IKKE ses, men starter en søgning, dog kun på første bogstav i teksten. Efterfølgende indtastede bogstaver "flytter" bare markeringen til et andet sted i listboxen, hvor pågældende bogstav er begyndelsesbogstavet.
Jeg vil gerne have programmet til at finde et match fra textbox1 i listbox1, og også gerne markere det. Hvis muligt må søgningen gerne foregå uden command buttons, og gerne "as entered" dvs. første indtastede bogstav genererer en søgning, som udvides efterhånden som flere bogstaver bliver indtastet. Jeg undskylder for min manglende evne til selv at programmere; jeg har klaret mig med online hjælp indtil nu, men søgefunktion i listbox er noget kringlet beskrevet, og virker langtfra altid efter hensigten. Kan nogen hjælpe?
På forhånd tak
Rubber Duck